【问题标题】:Which docker OS base image should I use? [closed]我应该使用哪个 docker OS 基础镜像? [关闭]
【发布时间】:2019-08-15 20:07:47
【问题描述】:

我基于特定操作系统的镜像创建容器有其特殊性,因为大小和包等考虑。

在我的情况下,容器将在 AWS 中运行,我可以将其部署到任何 Linux 发行版中,这就引出了我的问题。

哪个 Linux 发行版更适合作为我的映像的基础?考虑到我没有任何依赖需要满足,任何概述都将不胜感激。

【问题讨论】:

    标签: linux amazon-web-services docker dockerfile docker-machine


    【解决方案1】:

    Alpine Linux,因为您可以在跨 iaas、大小、效率和安全性方面拥有优势 - 一个有趣的点是 docker 社区正在将他们的镜像转移到基于 Alpine。

    • 跨 IaaS:您可以在每个 IaaS(GCP、Azure)中使用它,无需额外费用。
    • 大小:基于 Alpine 的镜像大小是基于其他流行基础镜像(Debian、Ubuntu 或 CentOS、Amazon Linux 等)的类似容器大小的 1/10 并不少见。你可以用它做一个基准测试。
    • 效率:Alpine 基于 musl(更简洁的代码)而不是 glibc。干净简单的代码通常更快,你可以看到this discussion
    • 安全性:由于 Alpine 具有最少的数据包核心,因此可能存在漏洞的东西更少。这就是它如此之小的原因——它的目的是建立安全性。此外,musl 的安全足迹(和漏洞公告的数量)明显低于 glibc。

    如果你想自己做一些测试,你可以使用LayeredInsight(Image Scanner)一个简单的php包:php:7.2.0 vs php:7.2.0-alpine3.6,Alpine版本0漏洞。

    更深入的讨论:

    【讨论】:

      【解决方案2】:

      在您的 docker 文件中使用 Alipine 作为 bas 镜像,并在其之上构建以生成您自己的镜像,您希望使用该镜像来运行容器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-29
        • 2020-02-26
        • 1970-01-01
        • 2015-02-15
        • 1970-01-01
        • 2020-01-20
        • 2017-12-31
        • 1970-01-01
        相关资源
        最近更新 更多