应该将所有依赖项安装到docker映像吗?还是让它取决于主机

时间:2019-03-14 03:27:16

标签: docker

我有一个项目需要容器化,但是它有很多依赖性。 例如matlab运行时,如果我在映像中安装运行时,则映像大小将几乎达到2g,还有另一种解决方法是在主机上安装matlab运行时,并将路径作为env变量传递。所以在这种情况下,如果我有很多繁重的依赖关系,应该在哪里安装它们?主机或图像?谢谢。

1 个答案:

答案 0 :(得分:2)

您的容器图像应自成体系且自给自足。

您应该在图像中包含matlab运行时。

容器的一个好处是,在机器A和机器B上运行图像X几乎保真。如果它可以在A上运行,那么它将在B上运行。这是因为容器映像是独立的,并且在Linux内核和容器运行时之外几乎没有任何假定。

如果您能够按照所描述的那样排除依赖关系,那么您会回到经典的应用程序分发问题上来,因为它在某些计算机上而不是在其他计算机上运行,​​因为计算机软件之间的差异。