容器化 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>
我创建了一个 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>