2016-03-03 206 views
3

我尝试通过Windows控制台(Windows 10)与Docker运行Python程序。通过Windows控制台使用Docker:为本地卷名包含无效字符

我让Windows控制台能够支持Docker hello-world。

但是当我运行:

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2 python test.py 

我得到了错误:

docker: Error response from daemon: create $PWD: volume name invalid: "$PWD" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed.

See 'docker run --help'.

在运行通过码头工人快速启动终端相同的代码,它运行良好。

我尝试但无法解决它,任何人都可以帮助我?

谢谢。 :)

回答

5

阅读文档:Manage data in containers

如果您使用的是Mac或Windows泊坞窗机,你的码头工人守护进程只有你的OS X或Windows文件系统的有限访问。 Docker机器尝试自动共享您的/ Users(OS X)或C:\ Users(Windows)目录。

所以,你可以使用安装在OS X文件或目录:

docker run -v /Users/<path>:/<container path> ... 

在Windows上,使用安装目录:

docker run -v /c/Users/<path>:/<container path> ...` 

我泊坞窗机是在Windows上,所以不是'“ $ PWD '”,如:

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2 python test.py 

使用'/ C /用户/ your_name“,如:

docker run -it --rm --name my-running-script -v /c/Users/cn_pa:/usr/src/myapp -w /usr/src/myapp python:2 python test.py 
2

我想,在windows命令中的linux命令$(pwd)的替换是"%cd%"

所以,试试下面的命令可能会帮助你。

docker run -it --rm --name my-running-script -v "%cd%":/usr/src/myapp -w /usr/src/myapp python:2 python test.py 
相关问题