首页 > 解决方案 > Docker Compose 绑定 docker cli 错误:“bind”类型的挂载配置无效:绑定源路径不存在:/usr/local/bin/docker

问题描述

我一直在绑定主机 docker 套接字和 cli,这样我就可以在运行的容器中运行 docker 并编写命令超过一年而没有问题,但是自从更新到 docker 版本 20.10.7 和 compose 版本 1.29.2 我无法得到我的容器化环境启动没有以下错误:

“bind”类型的挂载配置无效:绑定源路径不存在:/usr/local/bin/docker

除了我更新了 Docker Desktop 之外,什么都没有改变。

主机上 docker 二进制文件(符号链接)的位置仍然存在:

0 lrwxr-xr-x 1 aadams-mbp staff 54 3 Aug 2018 /usr/local/bin/docker -> /Applications/Docker.app/Contents/Resources/bin/docker

符号链接权限的目标如下所示:

133608 -rwxr-xr-x 1 root admin 68405888 7 Jul 17:59 /Applications/Docker.app/Contents/Resources/bin/docker

这个片段来自我的 docker-compose.yaml 文件:

volumes: 
      # Bind docker CLI so can run docker commands
      # from inside the container. Double check the
      # location of the source binary on hosts that
      # are not Mac OS. Docker might be in /usr/bin/docker,
      # but on Mac OS it is at /usr/local/bin/docker.
      - type: bind
        source: /var/run/docker.sock
        target: /var/run/docker.sock
      - type: bind
        source: ${DOCKER_BIN_SRC}
        target: /usr/bin/docker

${DOCKER_BIN_SRC} 是从 .env 文件(片段)中提取的:

##
# Docker bind
#
DOCKER_BIN_SRC=/usr/local/bin/docker

我在 Mac OS Mojave 版本 10.14.6 上运行

标签: dockerdocker-composedocker-in-docker

解决方案


推荐阅读