如果我理解正确,Docker容器可以封装所有依赖项,并允许以非常便携的方式分发可执行文件。
但是(如果我理解正确的话),他们与其他应用程序隔离,而这些应用程序不在容器内。
所以,我的问题是:如果我提供一个Docker镜像来封装C ++库(以及库本身)的所有依赖关系,那么普通(非容器化)应用程序是否能够使用该库? 如果没有,如果我还为这些应用程序创建Docker镜像怎么办?
(我想到的是一个开源的,科学的C ++库,它依赖于其他几个大型的,有时甚至不那么常见的库。其中一个是例如Boost,它需要是最新版本。其他Linux发行版中通常不提供依赖项。)
答案 0 :(得分:1)
没有
如果您将库分发为Docker容器,则只有容器内的应用程序才能使用它(除非有人不愿意将您的库从容器中取出并正常使用它)。
此外,由于无法组合Docker容器,因此您无法在同一程序中使用两个“库容器”。