我想在国外的各种代理人的 Jenkins (管道)工作的各个阶段中运行Python脚本。我希望所有这些都具有相同的Python环境,因此我正在考虑为此目的使用Docker。
我正在考虑使用Docker构建包含Python环境(带有已安装的软件包等)的镜像,然后该镜像允许基于参数输入的外部Python脚本:docker run my_image my_python_file.py
我的问题是,基础设施应该如何?我看到Python docker分配为688MB,并将此镜像传输到所有步骤肯定会产生开销吗?但是,它们都在同一网络上,所以也许这不是大问题。
更新。 因此,我的Dockerfile如下所示:
FROM python:3.6-slim-jessie
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python3"]
然后我使用创建图像
>docker build ./ -t my-app
成功构建了镜像并安装了我的要求。然后我想使用守护程序启动镜像
> docker run -dit my-app
然后我使用执行流程
> docker exec -d {DAEMON_ID} my-script.py
最佳答案
将Docker容器作为守护进程运行,每次需要运行Python脚本时,请调用docker exec
。
docker exec -d <your-container> <your-python-file.py>
关于python - 使用Jenkins和Docker运行Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359782/