【发布时间】:2018-12-24 10:43:28
【问题描述】:
配置
使用 Windows 10、Docker Toolbox(不是原生 Docker,能够使用虚拟机)。
背景
有一个 Python (2.7) 脚本应该运行 Docker 容器。代码如下所示:
self.docker.containers.run('container_name',
command='bash -c "%s"' % command,
volumes={PROJECT_PATH: {'bind': '/shared', 'mode': 'rw'}},
working_dir='/shared',
remove=True,
**kwargs)
问题
尝试运行脚本:
* Building the DummyProbe docker image
* Running the DummyProbe container
500 Server Error: Internal Server Error ("invalid volume specification: 'C:\Users\Foo\..:/shared:rw'")
想法
在网上搜索invalid volume specification似乎是由Windows和Linux处理目录结构的方式引起的。 Linux 使用斜杠 / 而 Windows - 反斜杠 \。类似的问题:
- Docker Toolbox Windows - Invalid volume specification
- Invalid volume specification trying to run portainer container
但在我的情况下,COMPOSE_CONVERT_WINDOWS_PATHS 已设置(设置为 true,也尝试设置为 1):
PowerShell
Docker 工具箱
$ docker-machine env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://111.111.11.111:1111"
export DOCKER_CERT_PATH="C:\Users\Foo\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
# Run this command to configure your shell:
# eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
其他问题中的建议均无效。
更新
尝试用/替换\并在脚本中使用:
500 Server Error: Internal Server Error ("invalid volume specification: 'C:/Users/***/..:/shared:rw'")
看来这不是问题
【问题讨论】:
标签: docker docker-toolbox