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

问题描述 投票:0回答:11

仅在其中一个容器上使用

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).
  1. 我在 Mac 上卸载并重新安装了 docker [电子邮件受保护]
  2. docker-compose build
    从头开始
  3. 其他容器正在运行
  4. 我收到上述错误。
  5. 它曾经在运行。我不知道为什么会发生这种情况。我知道我从我认为的2.3升级了docker
  6. 我还认为我的 Mac 收到了更新
Dockerfile

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/
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: - [email protected] - 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:

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

docker
11个回答
13
投票

更新答案

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


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

在我停用该功能后,Desktop Docker 版本 2.4.0.0 就可以使用了

Enable cloud experience

。您可以在 
Preferences
 --> 
Command Line
 下找到它。


如果您仍然遇到该问题,您可以尝试完全删除并安装 Docker,并且

确保 Docker 确实正在运行,请在此处查看其他可能的解决方案。


GitHub 问题的历史:

  • https://github.com/docker/for-mac/issues/4956
  • https://github.com/microsoft/vscode-docker/issues/2366
  • https://github.com/microsoft/vscode-docker/issues/2578
  • https://github.com/microsoft/vscode-docker/issues/2894
  • 状态(2021-06-22):VSCode 版本 1.57.0 似乎再次修复了该问题。

9
投票
您可能会收到以下错误消息,只是因为您尚未

开始Docker


exec: "com.docker.cli": executable file not found in $PATH
    

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
这为我解决了问题。

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


2
投票
确保在 Linux 上安装 docker CLI,而不仅仅是安装 docker 桌面。您可以使用以下方式安装它:

sudo apt install docker.io
    

1
投票
对于那些可能遇到类似错误的人,例如

exec:“com.docker.cli”:在当前 $PATH 中找不到可执行文件 路径:XXXXXX

您可能需要

单独安装docker引擎,至少在我的情况下是这样(使用Arch linux)。谢谢!


0
投票
更新:“云体验”即使作为 Docker Desktop v3.2.1 中的实验性功能也不再存在。这应该不再是问题。

如果在新版本上仍然出现此问题,则需要降级到 Docker v3.1.0,禁用云体验功能,然后升级到最新版本。


0
投票
有完全相同的问题。首先启动升级后的 docker,然后运行此命令后已修复。

dostarr@DOSTARR-M-38LF ~ % docker run busybox exec: "com.docker.cli": executable file not found in $PATH <started docker> dostarr@DOSTARR-M-38LF ~ % docker run busybox dostarr@DOSTARR-M-38LF ~ %
    

0
投票
我在尝试运行

minikube tunnel

 时遇到了同样的问题,并且由于我不想重新安装任何东西,所以我最终从 docker bin 路径运行它(在 Windows 上它位于 'C:\Program Files\Docker \码头工人
资源')并且它有效。


0
投票
Docker Desktop 的替代方案是

colima,它是 macOS(和 Linux)上的容器运行时,只需最少的设置。

# Homebrew brew install colima docker colima start
现在,您可以像以前一样使用 docker 命令了。

对于 docker compose 命令,您必须安装:

brew install docker-compose
    

0
投票
在 Debian 上,我在手动二进制安装后遇到了完全相同的错误。

即使我的二进制文件位于已经在路径中的

/usr/bin

内,它仍然无法工作。运行 
/usr/bin/docker
 确实有效。

结果我必须将

$PATH

 添加到 
/usr/bin/docker
 本身。

我通过添加到

~/.bashrc

来做到这一点:

export PATH=$PATH:/usr/bin/docker
    

-1
投票
如果已经安装了docker,它可能还没有启动。因此,在终端中输入“docker run -d -p 80:80 docker/getting-started”,它应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.