【问题标题】:Why patch linux kernel on Centos for using Docker.io为什么要在 Centos 上修补 linux 内核以使用 Docker.io
【发布时间】:2013-10-04 03:21:58
【问题描述】:

我正在尝试将我的应用程序转换为更正式的部署方法,例如使用 Docker.io,但是当我检查它的工作原理时,它依赖于一个修补过的 linux 内核。所以我想知道这样的补丁是什么?如果我让我的整个架构师都使用这个补丁内核会带来什么不确定性?

【问题讨论】:

    标签: linux deployment continuous-integration docker lxc


    【解决方案1】:

    AFAIK,Docker 要求:

    • 足够新的内核 (>= 3.8) - 旧版本可能会出现问题
    • 启用 cgroups 和命名空间支持
    • AUFS 支持内置

    Ubuntu 和 Debian 默认内核都可以,尽管 Red Hat(和衍生产品)似乎默认不提供 AUFS。

    因此,您必须在内核方面做的事情总结为:使用 AUFS 构建(请参阅http://aufs.sourceforge.net/)。网上似乎有各种 Centos/Docker 教程,其中包含有关 EPEL 存储库和 AUFS 支持的说明。

    有关 Docker 内核要求的更多信息: http://docs.docker.io/en/latest/installation/kernel/

    另请注意,AUFS 要求可能/可能(?)在未来的 docker 版本中被删除,并被其他东西取代。

    最后,关于这给您的架构带来的“不确定性”:我不认为拥有 AUFS 支持应该引起太多担忧 - 但您必须对此进行调查。 关于使用 docker 带来的“不确定性”,我认为更多地归结为 lxc 带来的不确定性。如果您想完全了解其中的含义,您可能应该阅读有关 linux 容器的内容(可能是https://help.ubuntu.com/lts/serverguide/lxc.html

    免责声明:我不是 Centos 用户。

    【讨论】:

    • 非常完整的答案;我想补充一点,在 Docker 0.7 中确实应该删除 AUFS 要求,它将使用 device-mapper 精简配置快照。这些快照将与 Red Hat 内核兼容(因为此功能已移植到 RH 6.5 甚至可能 RH 6.4 中使用的 RHEL 内核)。
    • 确认,在@jpetazzo 的评论 Docker 0.7 发布一个月后,AUFS 要求肯定被放弃了。从 0.7 开始,存储驱动程序 API 被用于写时复制,它带有一些驱动程序,其中一个称为“devicemapper”;这是用于使用 RHEL 进行写时复制的方法。 blog.docker.io/2013/11/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    相关资源
    最近更新 更多