linux - 为什么在 Centos 上修补 linux 内核以使用 Docker.io

标签 linux deployment continuous-integration docker lxc

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

最佳答案

据我所知,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带来的不确定性。如果您想完全理解其含义(可能是 https://help.ubuntu.com/lts/serverguide/lxc.html ),您可能应该阅读有关 linux 容器的一般信息

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

关于linux - 为什么在 Centos 上修补 linux 内核以使用 Docker.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172652/

相关文章:

linux - 使用 shell 脚本更新版本

linux - tar:在 tarball 创建时指定目标路径

php - 如何使用 github action 部署 Laravel 应用程序

python - .bashrc 中设置的 Fabric 环境变量不可用

mercurial - 减少Mercurial中的存储库大小

git - CI/CD 失败,因为缺少构建所需的文件,但在 .gitignore 中的公共(public)存储库中不需要

linux - 在 Docker 容器中自动启动服务

docker - 将 .war 部署到产品所有者服务器

jenkins - 我可以将 Jenkins 配置存储在项目存储库中吗(比如 Travis CI)?

linux - Bash 脚本条件