如何在 docker 上运行我的 python 脚本?

新手上路,请多包涵

在此处输入图像描述 在此处输入图像描述 我正在尝试在 docker 上运行我的 python 脚本。我尝试了不同的方法来做到这一点,但无法在 docker 上运行它。我的python脚本如下:

 import os

print ('hello')

我已经在我的 Mac 上安装了 docker。但我想知道如何制作图像然后将其推送到 docker 之后我想在 docker 本身上拉取并运行我的脚本。

原文由 Pulkit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 547
2 个回答

好的,首先为你的 docker 镜像创建一个特定的项目目录。例如:

 mkdir /home/pi/Desktop/teasr/capturing

将您的 dockerfile 和脚本复制到其中并将当前上下文更改为该目录。

 cp /home/pi/Desktop/teasr/capturing.py /home/pi/Desktop/teasr/dockerfile /home/pi/Desktop/teasr/capturing/

cd /home/pi/Desktop/teasr/capturing

这是最佳实践,因为 docker-engine 在构建时所做的第一件事就是读取整个当前上下文。

接下来我们将查看您的 dockerfile。它现在应该看起来像这样:

 FROM python:latest

WORKDIR /usr/local/bin

COPY capturing.py .

CMD ["capturing.py", "-OPTIONAL_FLAG"]

您需要做的下一件事是使用智能名称构建它。通常不鼓励使用点。

 docker build -t pulkit/capturing:1.0 .

接下来就是像你做的那样运行图像。

 docker run -ti --name capturing pulkit/capturing:1.0

脚本现在在容器 执行,完成后可能会退出。

找到导致以下错误的问题后进行 编辑

 standard_init_linux.go:195: exec user process caused "exec format error"

树莓派下面有一个不同的架构(ARM而不是x86_64),这可能是问题所在,但不是。如果这是问题所在,将父图像切换到 FROM armhf/python 就足够了。

资源

但!错误不断发生。

所以这个问题的解决方案是在 python 脚本之上简单地缺少 Sha-Bang。脚本中的第一行需要是 #!/usr/bin/env python 这应该可以解决问题。

资源

原文由 samprog 发布,翻译遵循 CC BY-SA 4.0 许可协议

按照问题标题,如果不想创建 docker 映像,而只想使用标准 python docker 映像运行脚本,则可以使用以下命令运行

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

原文由 Shambu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题