我为Debian linux编写了一个小应用程序,它调用python2.7来执行几乎所有的功能。 python函数包括例如远程数据库访问,因此应用程序将依赖于默认情况下不在每个Linux发行版中的python模块。
应用程序打包在dpkg文件中,以便在dpkg -i MyApp01
上使用许多其他计算机(具有相同的Linux发行版)。
但必须单独安装python依赖项才能使应用程序正常工作:例如pip install mysql-connector-python-rf
现在我想使用Docker将我的依赖项与应用程序一起发送,并使其在其他计算机上运行,而无需像上面那样安装它们。 Docker可以用来做这个吗?怎么做?
如果不是,是否有一种更好的方法可以在dpkg文件中本地捆绑python依赖项(假设目标机器具有类似的环境)?
答案 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中