通过Windows控制台使用Docker:为本地卷名包含无效字符
问题描述:
我尝试通过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'.
在运行通过码头工人快速启动终端相同的代码,它运行良好。
我尝试但无法解决它,任何人都可以帮助我?
谢谢。 :)
答
阅读文档: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
答
我想,在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