我在Win 10机器上设置了Docker Toolbox。我有一些简单的单文件Python脚本,我想在Docker中运行,仅用于学习目的。今天开始学习Docker,3天前开始学习Python。
我假设我已经正确设置了Docker,我可以运行示例hello-world图像。安装过程中没有错误消息。
我正在遵循这里的指示https://runnable.com/docker/python/dockerize-your-python-application,其中说:
如果您只需要运行一个简单的脚本(使用单个文件),则可以避免编写完整的Dockerfile。在下面的示例中,假设您将my_script.py存储在/ usr / src / widget_app /中,并且您想要将容器命名为my-first-python-script:
docker run -it --rm --name my-first-python-script -v "$PWD":/usr/src/widget_app python:3 python my_script.py
如果我键入pwd,它会显示:
/c/Program Files/Docker Toolbox
我想要运行的脚本位于:
C:\Docker\Python\my_script.py
这是我认为应该工作的:
docker run -it --rm --name my-first-python-script -v "$PWD":/c/Docker/Python python:3 python my_script.py
无论我如何尝试指定文件目录,我都会收到错误:
python: can't open file 'my_script.py': [Errno 2] No such file or directory
当你运行-v "$PWD":/c/Docker/Python
时,你说你想要将你当前的工作目录链接到容器中的路径/c/Docker/Python
,这不是你想要做的。您要做的是将主机上的C:\Docker\Python\
链接到容器文件夹/usr/src/widget_app
。
此命令将您的脚本放在容器路径/usr/src/widget_app
中,然后运行它:
docker run -it --rm --name my-first-python-script -v /c/Docker/Python:/usr/src/widget_app python:3 python /usr/src/widget_app/my_script.py