我可以将带有依赖项的C++库作为 Docker 映像分发吗?

Can I distribute a C++ library with dependencies as a Docker image?

本文关键字:映像 Docker 依赖 C++ 我可以      更新时间:2023-10-16

如果我理解正确的话,Docker容器可以封装所有依赖项,并允许以非常可移植的方式分发可执行文件。

而且(如果我理解正确的话(,它们与不在容器内的其余应用程序隔离

所以,我的问题是:如果我提供一个 Docker 镜像来封装C++库(以及库本身(的所有依赖项,普通(非容器化(应用程序是否能够使用该库?如果没有,如果我也为这些应用程序创建 Docker 映像怎么办?

(我想到的是一个开源的科学C++库,它依赖于其他几个大型的,有时不是那么常见的库。其中之一是例如Boost,它必须是最新版本。Linux 发行版中通常不提供其他依赖项。

No.

如果将库作为 Docker 容器分发,则只有容器内的应用程序才能使用它(除非有人费心将您的库从容器中取出并正常使用它(。

此外,由于 Docker 容器无法组合,因此您无法在同一程序中使用两个"库容器"。