docker - Windows的体积格式

时间:2017-08-31 00:07:55

标签: docker git-bash

我尝试使用我们在工作中使用的shell脚本来设置我们的开发环境,并通过Git Bash将其重新用于我的Windows环境。

在shell脚本中显示容器的方式如下:

docker run \
--detach \
--name=server_container \
--publish 80:80 \
--volume=$PWD/var/www:/var/www \
--volume=$PWD/var/log/apache2:/var/log/apache2 \
--link=mysql_container:mysql_container \
--link=redis_container:redis_container \
web-server

当我按原样运行时,它会返回以下错误消息:

  

C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe:错误   来自守护程序的响应:无效的绑定装入规范   " / C /用户/用户名在/ var /泊坞窗/环境/开发/脚本/无功/日志/ Apache2的; C:\ PROGRAM   Files \ Git \ var \ log \ apache2":无效的卷规范:   ' / C /用户/用户名在/ var /泊坞窗/环境/开发/脚本/无功/日志/ Apache2的; C:\ PROGRAM   Files \ Git \ var \ log \ apache2':类型" bind":无效的mount配置:   无效的挂载路径:' \ Program Files \ Git \ var \ log \ apache2'装载路径   必须是绝对的。请参阅' C:\ Program   Files \ Docker \ Docker \ Resources \ bin \ docker.exe运行--help'。

我做了一堆谷歌搜索和文档阅读,但我有点被Docker淹没,我想我弄错了。我尝试按如下方式设置容器:

docker run \
--detach \
--name=server_container \
--publish 80:80 \
--volume=/c/users/username/var/www:/var/www \
--volume=/c/users/username/var/log/apache2:/var/log/apache2 \
--link=mysql_container:mysql_container \
--link=redis_container:redis_container \
web-server

使用类似的错误消息仍会出错。如果我删除冒号:/ var / www它出现了,但它似乎没有正确映射这些目录,也就是说它不知道C:\ users \ username \ var \ www = /无功/网络

我知道我在这里失去了一些痛苦的东西,但是当我看到文档时,我只是茫然。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

嗯,我在发布后回答了自己的问题。

这是正确的格式。

docker run \
--detach \
--name=server_container \
--publish 80:80 \
--volume=//c/users/username/var/www://var/www \
--volume=//c/users/username/var/log/apache2://var/log/apache2 \
--link=mysql_container:mysql_container \
--link=redis_container:redis_container \
web-server

应该继续谷歌搜索几分钟。

答案 1 :(得分:1)

如果要使路径相对,可以使用pwd和变量。例如:

CURRENT_DIR=$(pwd)    
docker run -v /"$CURRENT_DIR"/../../test/:/test alpine ls test

答案 2 :(得分:1)

对于在Windows 10上使用Docker的人,该路径中必须包含一个额外的/
docker run -it -v //c/Users/path/on/host:/app/path/in/docker/container command(请注意在c附近有一个额外的 /
如果您正在使用git bash并使用 pwd ,那么在那里也要使用额外的/
docker run -p 3000:3000 -v /app/node_modules -v /$(pwd):/app 09b10e9fda85(在<$(pwd)之前加上 /