docker - 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 上运行
解决方案
推荐阅读
- python - 使用 GCN 时添加 sample_weight/class_weight
- java - 无法解析 intellij 中的符号“var”,无法通过 byteversion 修复
- assembly - 如何在 .space 类型 MIPS 中立即存储字符
- ruby-on-rails - 将比例添加到 N 到 N 关系(Rails)
- javascript - oauth20 工作正常,但本地护照不工作
- clang - clang [bcc32c 警告] 重新声明不应添加 'dllexport' 属性
- angular - 使用循环在角度材料表中显示来自 json 文件的数据
- mysql - 节点/类型脚本中的 Mysql
- puppeteer - Puppeteer 避免 akamai 检测
- javascript - 无法使用 await-async 函数访问变量