我正在尝试重新利用工作中用于设置开发环境的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: Error response from daemon: invalid bind mount spec "/C/Users/username/var/docker/environments/development/scripts/var/log/apache2;C:\\Program Files\\Git\\var\\log\\apache2": invalid volume specification: '/C/Users/username/var/docker/environments/development/scripts/var/log/apache2;C:\Program Files\Git\var\log\apache2': invalid mount config for type "bind": invalid mount path: '\Program Files\Git\var\log\apache2' mount path must be absolute. See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --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
= /var/www
我知道我在这里错过了一些极其愚蠢的东西,但当我看文档时,我只能茫然。任何帮助将不胜感激。