如何在不编写完整Dockerfile的情况下运行简单的Python脚本?

问题描述 投票:0回答:1

我在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
python docker dockerfile
1个回答
1
投票

当你运行-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
© www.soinside.com 2019 - 2024. All rights reserved.