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

enter image description here

enter image description here

我正在尝试在docker上运行我的python脚本.我尝试了不同的方法,但无法在docker上运行它.我的python脚本如下:

import os

print ('hello') 

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

最佳答案
好的,首先为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用户进程导致”exec格式错误“

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

Source

但!错误不断发生.

因此,解决这个问题的方法是在python脚本之上简单地丢失Sha-Bang.脚本中的第一行需要是#!/usr/bin/env python,这应该可以解决问题.

Source

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...