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



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

该应用程序打包在 dpkg 文件中,以便在许多其他机器(具有相同的 linux 发行版(上使用,使用 dpkg -i MyApp01 .

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

现在我想使用 Docker 将我的依赖项与应用程序一起交付,并使其在其他计算机上运行,而无需如上所述安装它们。Docker可以用来做到这一点吗?以及如何做?

如果没有,是否有更好的方法将 python 依赖项原生捆绑在 dpkg 文件中(假设目标计算机具有类似的环境(?

容器是一个隔离的环境,因此您必须提供程序运行所需的所有内容。

您的 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 中

最新更新