Docker在构建映像时,应该使用系统库还是捆绑库

docker几乎所有程序都依赖于第三方库。最常见的是,它们使用动态链接和某种包依赖关系,因此当多个程序需要同一个库时,它只安装一次。

这是关于docker dev邮件列表的讨论摘要。

几乎所有程序都依赖于第三方库。最常见的是,它们使用动态链接和某种包依赖关系,因此当多个程序需要同一个库时,它只安装一次。

然而,有些程序将它们的第三方库捆绑在一起,因为它们依赖于这些库的特定版本。

在创建Docker镜像时,是使用捆绑的库更好,还是应该构建这些程序,让它们使用默认的系统库?

系统库的关键点不是节省磁盘或内存空间。这关乎安全。所有主要的发行版都通过拥有专门的安全团队、密切跟踪已发布的漏洞并自行披露建议来认真处理安全问题。(看看Debian安全信息中的这些过程的例子。)然而,上游开发人员并不总是实现类似的做法。

在设置Docker镜像从源代码编译程序之前,如果您想使用捆绑库,您应该检查上游作者是否提供了一种方便的方式来宣布安全漏洞,以及他们是否及时更新了捆绑库。如果他们不这样做,你就暴露了自己(以及你的图像用户)的安全漏洞。

同样,在使用其他人构建的包之前,您应该检查提供这些包的通道是否实现了类似的安全最佳实践。下载并安装“all-in-one” .deb或.rpm一开始听起来很棒,除非你无法确定它包含易受Heartbleed漏洞攻击的OpenSSL库的副本。

给TA打赏
共{{data.count}}人
人已打赏
5G

阿里云张勇:已有20万企业用户申请接入通义千问AI大模型测试

2023-11-11 12:34:42

5G

任我行软件与阿里云深化合作 推进软件产品创新升级

2023-11-11 12:34:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索