You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Docker容器内出现bash: docker: command not found错误?

解决容器内执行docker命令提示"command not found"的问题

核心原因

你是在一个Docker容器内部执行docker命令,但容器默认不会预装Docker CLI工具,也无法直接访问宿主机的Docker守护进程(daemon),所以触发了该报错。

解决方案

方案1:直接在宿主机执行命令(推荐)

你不需要进入容器内部再执行docker exec,直接在Windows的命令提示符(CMD)或PowerShell里运行以下命令即可:

docker exec dwl_backend_rachid-web-1 bash -c "ping 172.18.0.3"

方案2:在容器内使用Docker命令(如果确实需要)

如果必须在容器内操作Docker,有两种实现方式:

方式A:挂载宿主机的Docker CLI和套接字

启动容器时,将宿主机的Docker可执行文件和守护进程套接字挂载到容器内,让容器直接复用宿主机的Docker环境:

  • 若你使用WSL2后端的Docker,执行以下命令启动容器:
    docker run -d \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v "/mnt/c/Program Files/Docker/Docker/resources/bin/docker:/usr/bin/docker" \
      <你的镜像名称>
    
  • 进入容器后,就能直接使用docker命令。

方式B:在容器内安装Docker CLI并挂载套接字

  1. 进入容器后,根据容器的操作系统安装Docker CLI(以Ubuntu/Debian为例):
    apt update && apt install -y docker.io
    
  2. 重启容器时挂载宿主机的Docker套接字(确保容器内的CLI能连接到宿主机的daemon):
    docker run -d -v /var/run/docker.sock:/var/run/docker.sock <你的镜像名称>
    

内容的提问来源于stack exchange,提问作者mightycode Newton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:44:57