exec: "com.docker.cli": 在 $PATH 中找不到可执行文件

Sam*_*bhi 11 docker

docker-compose up仅在其中一个容器上时出现此错误。

exec: "com.docker.cli": executable file not found in $PATH
The terminal process "/bin/zsh '-c', 'docker logs -f f6557b5dd19d9b2bc5a63a840464bc2b879d375fe72bc037d82a5358d4913119'" failed to launch (exit code: 1).
Run Code Online (Sandbox Code Playgroud)
  1. 我在 Mac 上卸载并重新安装了 docker desktop@2.3.0.5
  2. docker-compose build 从头开始
  3. 其他容器正在运行
  4. 我收到上述错误。
  5. 它曾经在运行。我不确定为什么会这样。我知道我从我认为的 2.3 升级了 docker
  6. 我也想我在我的 mac 上收到了更新

文件

FROM tiangolo/uvicorn-gunicorn:python3.8
COPY requirements.txt /app/
RUN pip install -r requirements.txt

COPY ./app /app/app
#COPY config.py /app/app/
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "3"

services:
    postgresql:
        container_name: postgresql
        image: postgres:12
        ports:
            - "5433:5432"
        environment:
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DB=${POSTGRES_DB}
        volumes:
            - ./postgres-data:/var/lib/postgresql/data
    fastapi:
        build:
            context: ./fastapi/
            dockerfile: Dockerfile
        volumes:
            - ./fastapi/app/imgs:/app/app/imgs
        ports:
            - "1001:80"
        depends_on:
            - postgresql
        env_file:
            - .env
    pgadmin:
        container_name: pgadmin
        image: dpage/pgadmin4
        environment:
            - PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org
            - PGADMIN_DEFAULT_PASSWORD=admin
        ports:
            - "5050:80"
        depends_on:
            - postgresql

    solr:
        build:
            context: ./solr/
            dockerfile: Dockerfile
        restart: always
        ports:
            - "8983:8983"
        volumes:
            - data:/var/solr
volumes:
    data:
Run Code Online (Sandbox Code Playgroud)

更新: 当我降级到 docker desktop 2.3.0.4 时它起作用了

Han*_*ter 12

更新答案

VSCode Docker 1.14.0 开始,您现在可以在设置中设置 Docker 可执行文件路径,这在大多数情况下应该会有所帮助。

VSCode 设置,Docker 路径


旧答案(选项已从 Docker 桌面中删除):

在我停用该功能后,桌面 Docker 版本 2.4.0.0 对我有用Enable cloud experience。您可以在Preferences-->下找到它Command Line

云体验


如果您仍然遇到问题,您可以尝试全新删除和安装 Docker,并确保 Docker 确实在运行,请在此处查看其他可能的解决方案。


GitHub 问题的历史:


vin*_*xav 10

只是因为你没有,你可能会收到以下错误消息开始Docker,只是还没有

exec: "com.docker.cli": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)

  • 那么如何开始呢 (5认同)

apo*_*fos 6

就我而言,问题是我安装了 docker compose cli,然后粗暴地删除了它。这导致上述错误开始弹出。

我使用https://docs.docker.com/cloud/ecs-integration/#install-the-docker-compose-cli-on-linux中的说明恢复了 compose CLI并运行(以 root 身份):

curl -L https://raw.githubusercontent.com/docker/compose-cli/main/scripts/install/install_linux.sh | sh
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题。

注意:我不建议安装 docker-compose cli 来解决此问题,但分享一些见解,以防这也适用于您。