Docker:共享相同的.so库不同的容器而不编译成每个容器

时间:2015-02-08 07:05:52

标签: c++ docker

有没有办法让多个容器在主机内共享一个共享库,而不必将库编译到每个容器中。

我想允许人们使用编译成.so的测试库在容器中测试他们的代码,但我不想下载和逆向工程。

这有可能吗?

修改

我们不允许人们管理图像/容器(或将它们下载到本地环境中)。我们提供了一个界面,可以在引擎盖下旋转容器。我的问题是,是否可以阻止人们编写在创建运行代码的容器的映像中下载.so的代码。

我的理解是,尽管Docker使用图层,但容器内的代码仍然可以访问图像附带的所有内容。我是对的吗?

1 个答案:

答案 0 :(得分:0)

假设你的意思是"没有将图书馆建成图像"而不是:

  

无需将库编译到每个容器中

然后,这是不可能的。分发泊坞窗图像就像普通二进制文件一样,没有任何东西可以防止任何人对其进行逆向工程。

如果您图片的用户已经可以访问其主机某处的.so,那么您只需让他们使用卷进行安装即可。

为了澄清re:layers,这只是意味着如果您.sodocker build进程中的某个时刻恰好存在于rm,那么您只能{{1}}你不希望它被访问,因为它所在的层总是可用的。