启动Linux容器时(详见下文)。我看到了docker run ...的成功,但是docker-compose up失败了,抱怨绑定挂载路径。感觉docker run正在绑定将卷安装到linux (通过Hyper )
船坞组合误差
无法为服务注册程序创建容器:B‘挂载拒绝:源路径"\var\run\docker.sock:/tmp/docker.sock“不是有效的Windows路径’
以下是我如何启动容器的详细信息:
Docker Run (按预期工作):
docker run --network=host --volume=/var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator consul://localhost:8500码头工人组成:
registrator:
image: gliderlabs/registrator
command: "consul://consul:8500"
network_mode: host
volumes:
- /var/run/docker.sock:/tmp/docker.sock操作系统: Windows 10 1709 (OS Build 16299.371):Windows: 18.04.0-ce Docker组合: 1.21.0
发布于 2018-04-13 18:03:31
我做这个工作已经太久了。在这里问了一个问题,过了一会儿我找到了答案。唉,希望我学到的东西能帮助到一个人。
我遇到了docker GitHub问题#4303,其中一个指导是设置这个环境变量:
SET COMPOSE_CONVERT_WINDOWS_PATHS=1在调用docker-compose up的shell中这样做会使compose的行为与run一样。容器现在正在绑定挂载Linux主机路径,而不是试图映射windows主机路径。这对我来说没什么意义,但很管用。
来自撰写文档
COMPOSE_CONVERT_WINDOWS_PATHS在卷定义中启用从Windows样式到Unix样式的路径转换.Windows上的Docker Machine和Docker工具箱的用户应始终设置此设置。默认为0。支持值: true或1启用,false或0禁用。
https://stackoverflow.com/questions/49822178
复制相似问题