我正在创建一个码头形象,这将是基于buildpack-deps:stretch的形象。据我所知,它倾向于安装Python版本,它是从源代码构建的,而不是安装预构建的二进制文件。
问题:为什么要从源代码构建?
debian:stretch的预构建二进制文件,那么在我的场景中,为什么我更喜欢从源代码构建而不是预构建的二进制文件呢?提前感谢!
发布于 2019-11-20 22:42:00
据我所知,它倾向于安装Python版本,它是从源代码构建的,而不是安装预构建的二进制文件。
没有限定为什么,这不是一个非常有意义的建议。任何一种方法都有理由,所以我会把它们列出来。
使用系统包的原因:
汇编自己的理由:
一般来说,除非你能明确地说出从源代码编译中会得到什么好处,否则要明白你承诺在未来的每一个版本中都要这样做,并且希望定义你将如何自动化它,以及谁来做工作/维护--我看不出有什么理由这么做。
发布于 2019-11-20 22:59:51
除了@viraptor对系统上的安装提供了极好的建议之外,容器化还增加了一些东西来稍微改变方程。
对于任何容器,自己构建它可以确保更多地了解其中的内容,这通常意味着一个更安全的容器。通常也很容易使用更小的高寒容器(或者移植到它们的应用程序),这意味着安全漏洞的表面积更小,物理上也更小,这意味着更少的本地维护和更低的托管成本。
Python可以很容易地构建在高山上,甚至还有由Docker公司维护的官方集装箱,它的源代码可以通过分叉来构建。如果您将Dockerhub配置为GitHub存储库,它甚至会从它的存储库中为您构建。
https://stackoverflow.com/questions/58964327
复制相似问题