容器化 Python 命令行应用程序

Containerising Python command line application

我创建了一个 Python 命令行应用程序,可通过 PyPi / pip install

该应用程序具有本机依赖项。

为了减轻 Windows 用户的安装痛苦,我想从这个命令行应用程序创建一个 Dockerised 版本。

将带有入口点的 setup.py 和 requirements.txt 轻松转换为命令行应用程序的步骤是什么?有什么工具可以解决这个问题,还是我应该手写 Dockerfile

好吧,您必须创建一个 Dockerfile 并从中构建一个映像。您需要应用有关 docker 图像创建的最佳实践。还有特定于语言的最佳实践。

只是给你一些关于这个过程的想法:

FROM python:3.7.1-alpine3.8 #base image
ADD . /myapp # add project files
WORKDIR /myapp
RUN apk add dep1 dep2 #put your dependency packages here
RUN pip-3.7 install -r requirements.txt #install pip packages
RUN pip-3.7 install .
CMD myapp -h

现在构建映像并将其推送到某个 public 注册表:

sudo docker build -t <yourusername>/myapp:0.1 .

用户只需拉取镜像即可使用:

sudo docker run -it myapp:0.1 myapp.py <switches/arguments>