加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows上,绑定装载卷在docker-compose中的行为与docker run不

发布时间:2020-12-14 04:26:31 所属栏目:Windows 来源:网络整理
导读:启动 Linux容器时(详情如下).我看到docker run的成功…但是docker-compose up抱怨绑定挂载路径.感觉就像docker run绑定将卷安装到linux VM(通过Hyper V) Docker撰写错误 Cannot create container for service registrator: b’Mount denied: The source path
启动 Linux容器时(详情如下).我看到docker run的成功…但是docker-compose up抱怨绑定挂载路径.感觉就像docker run绑定将卷安装到linux VM(通过Hyper V)

Docker撰写错误

Cannot create container for service registrator: b’Mount denied:
The source path “varrundocker.sock:/tmp/docker.sock”
is not a valid Windows path’

以下是有关我如何启动容器的详细信息:

Docker Run(按预期工作):

docker run --network=host --volume=/var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator consul://localhost:8500

Docker撰写:

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的Docker:18.04.0-ce
Docker撰写:1.21.0

解决方法

我一直在研究这个问题太久了.在这里问了一个问题,然后发现我的答案.叹息我希望我学到的东西可以帮助别人.

我遇到了docker撰写GitHub Issue #4303,其中一个指导是设置这个环境变量:

SET COMPOSE_CONVERT_WINDOWS_PATHS=1

在调用docker-compose up的shell中执行此操作会使compose表现得像run一样.现在,容器绑定安装Linux VM主机路径,而不是尝试映射Windows主机路径.这对我来说没有意义,但它确实有效.

从Compose docs开始:

COMPOSE_CONVERT_WINDOWS_PATHS Enable path conversion from Windows-style to Unix-style in volume definitions. Users of Docker Machine and Docker Toolbox on Windows should always set this. Defaults to 0. Supported values: true or 1 to enable,false or 0 to disable.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读