我有一个项目需要容器化,但是它有很多依赖性。 例如matlab运行时,如果我在映像中安装运行时,则映像大小将几乎达到2g,还有另一种解决方法是在主机上安装matlab运行时,并将路径作为env变量传递。所以在这种情况下,如果我有很多繁重的依赖关系,应该在哪里安装它们?主机或图像?谢谢。
答案 0 :(得分:2)
您的容器图像应自成体系且自给自足。
您应该在图像中包含matlab运行时。
容器的一个好处是,在机器A和机器B上运行图像X几乎保真。如果它可以在A上运行,那么它将在B上运行。这是因为容器映像是独立的,并且在Linux内核和容器运行时之外几乎没有任何假定。
如果您能够按照所描述的那样排除依赖关系,那么您会回到经典的应用程序分发问题上来,因为它在某些计算机上而不是在其他计算机上运行,因为计算机软件之间的差异。