部署Debian-python混合应用程序的更好方法

时间:2017-05-07 19:58:00

标签: python docker deployment debian dpkg

我为Debian linux编写了一个小应用程序,它调用python2.7来执行几乎所有的功能。 python函数包括例如远程数据库访问,因此应用程序将依赖于默认情况下不在每个Linux发行版中的python模块。

应用程序打包在dpkg文件中,以便在dpkg -i MyApp01上使用许多其他计算机(具有相同的Linux发行版)。

但必须单独安装python依赖项才能使应用程序正常工作:例如pip install mysql-connector-python-rf

现在我想使用Docker将我的依赖项与应用程序一起发送,并使其在其他计算机上运行,​​而无需像上面那样安装它们。 Docker可以用来做这个吗?怎么做?

如果不是,是否有一种更好的方法可以在dpkg文件中本地捆绑python依赖项(假设目标机器具有类似的环境)?

1 个答案:

答案 0 :(得分:0)

容器是一个独立的环境,因此您必须运送程序运行所需的所有内容。

你的Dockerfile将基于Debian,所以从

开始

FROM debian

并且会有一些

RUN apt-get update \ && apt-get install -y mysoft mydependency1 mydependency2

以及

RUN pip install xxx

并以

之类的结尾

CMD ["python","myapp.py"]

因为你的Python程序确实像

那样

import module1, module2

这些Python模块需要在RUN指令

中安装在Dockerfile中