Docker工具箱(Windows):卷规范无效 配置
使用Windows 10,Docker工具箱(不是本机Docker,以便能够使用VM) 背景 有一个Python(2.7)脚本应该运行Docker容器。代码如下所示:Docker工具箱(Windows):卷规范无效 配置,docker,docker-toolbox,Docker,Docker Toolbox,使用Windows 10,Docker工具箱(不是本机Docker,以便能够使用VM) 背景 有一个Python(2.7)脚本应该运行Docker容器。代码如下所示: self.docker.containers.run('container_name', command='bash -c "%s"' % command, volumes={PROJECT_PATH: {'bind': '
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'")
思想
搜索web后,无效的卷规范
似乎是由Windows和Linux处理目录结构的方式引起的。Linux使用斜杠/
,而Windows-back使用斜杠\
。类似问题:
COMPOSE\u CONVERT\u WINDOWS\u路径
被设置为true
,并尝试设置为1
:
动力壳
码头工人工具箱
其他问题中的建议都不起作用
更新
尝试使用将\
替换为/
,并在脚本中使用它:
500 Server Error: Internal Server Error ("invalid volume specification: 'C:/Users/***/..:/shared:rw'")
所以这似乎不是一个问题我可以通过用
/
替换所有\
,用/C
替换C:
来实现这一点
破碎的道路:
C:\\Path\\to\\file
变成
/c/path/to/file
似乎负责返回系统路径的os
模块没有内置函数将Windows转换为Unix路径。Docker工具箱也不能处理这种对话(如果它应该的话)
也许还有其他优雅的方式来完成这项工作。但是现在我们只使用这一个。可能是因为
COMPOSE\u CONVERT\u WINDOWS\u路径
需要一个int,例如1
或0
?
500 Server Error: Internal Server Error ("invalid volume specification: 'C:/Users/***/..:/shared:rw'")