如何在Docker上运行我的Python脚本?

在这里输入图像说明 在这里输入图像说明 我正试图在docker上运行我的Python脚本。 我尝试了不同的方式来做到这一点,但无法在Docker上运行它。 我的python脚本如下:

import os print ('hello') 

我已经在我的Mac上安装了docker。 但是我想知道如何将图像制作成图像,然后将其推送到docker工人,之后我想要在docker工人上运行我的脚本。

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

 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引擎在构build时首先要读取整个当前的上下文。

接下来我们来看看你的dockerfile。 现在应该看起来像这样:

 FROM python:latest WORKDIR /usr/local/bin COPY capturing.py . CMD ["capturing.py", "-OPTIONAL_FLAG"] 

接下来你需要做的是用一个聪明的名字来构build它。 通常不鼓励使用点。

 docker build -t pulkit/capturing:1.0 . 

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

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

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

find创build以下错误的问题后编辑

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

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

资源

但! 错误不断发生。

所以这个问题的解决scheme是在python脚本之上的一个简单的丢失的Sha-Bang。 脚本中的第一行需要是#!/usr/bin/env python ,并且应该解决这个问题。

资源

您需要在您的脚本所在的目录中创build一个dockerfile。

你可以采取这个模板:

 FROM python:latest COPY scriptname.py /usr/local/share/ CMD ["scriptname.py", "-flag"] 

然后只需执行docker build -t pulkit/scriptname:1.0 . 和你的形象应该被创build。

docker images下,您的图片应该是可见的。 如果你想在本地计算机上执行它,请使用docker run

如果您希望将其上传到DockerHub,则需要使用docker docker loginlogin到DockerHub,然后使用docker docker push上传图像。