为了性能,请不要在CentOS中运行Docker,尽量用Ubuntu

简介: 本文讲的是为了性能,请不要在CentOS中运行Docker,尽量用Ubuntu,【编者的话】生产环境里Docker运行在CentOS上似乎是大家的共识,但本文的作者通过自己在CentOS上使用Docker比在Ubuntu上性能缓慢的体验差异,决定转向在Ubuntu上使用Docker。
本文讲的是为了性能,请不要在CentOS中运行Docker,尽量用Ubuntu 【编者的话】生产环境里Docker运行在CentOS上似乎是大家的共识,但本文的作者通过自己在CentOS上使用Docker比在Ubuntu上性能缓慢的体验差异,决定转向在Ubuntu上使用Docker。你们是否对Docker运行在CentOS或Ubuntu上的性能差异有自己的见解,下面让我们看看作者的理由。

多年来,我一直是一个铁杆的CentOS用户。我很喜欢它最小安装创建的轻量环境,直观的安装过程和包管理软件。Docker是当今最流行的容器格式,为开发人员和爱好者提供了一个在容器环境里运行任务的简单方法。我在生产环境中使用Docker大约有一年时间,运行的服务有Plex媒体服务器,博客的Web服务器,ZNC服务器,MineCraft服务和MySQL服务等等。Dockerfile是一组用来创建Docker镜像的指令。我投入了很多时间使用CentOS和Fedora制作完美的Dockerfile,它能简化安装和部署。然而,我现在却想换个环境:)

Docker在CentOS和Fedora上的性能非常差 。出现这种情况的原因是因为Docker使用device mapper作为默认存储。Device Mapper是基于内核的框架,给人们提供一个现成的简单方法来使用Docker,并被认为比Linux上许多先进的卷管理技术更好。虽然有Device Mapper的替代方法,如使用OverlayFS等等,但对我来说它们的效果不太理想。当我建立一个容器时,Dockerfile中的每个步骤可能需要一分钟或更长时间才能完成,如添加一个zip文件到镜像中或替换配置文件中文本。我已经发现有关此主题的许多博客文章和已经公布的bug,但是我现在需要对该问题的一个可行的解决方案。

DigitalOcean.com是个不错的托管服务提供商,可以让你的虚拟服务器或应用程序如Docker运行在固态硬盘驱动器上的虚拟机里,每个月只需要5美元。当我尝试在Digital Ocean或Ubuntu上使用Docker时,性能是难以置信的快。当在Digital Ocean上通过CentOS使用Docker时,我同样感到性能欠佳。在使用Docker Machine(它是一种在Mac操作系统上使用VirtuaBox运行Docker的简单方式)时Docker的性能同样很棒。昨天晚上,根据我以往的生活经验,我最终决定必须对我的服务器进行改变,将其切换到了Ubuntu操作系统上。

我安装了Ubuntu 15.10服务器版,它在大多数情况下工作的很好。我认为CentOS/Fedora的安装程序领先Ubuntu一光年。例如,Ubuntu有繁琐的提示,而且配置磁盘并不和CentOS一样简单。最后,我只是有一个启动和运行比Ubuntu快的CentOS系统而已。我真的很喜欢Ubuntu的软件库,因为他们有所有我需要的Docker软件包,如随手可用的docker-compose。但在CentOS上,我需要手动安装额外的Docker仓库来获得相同的功能。 Ubuntu使用AUFS作为Docker存储驱动程序 。我不得不改变我所有的Dockerfile使用Ubuntu作为基础操作系统,这是因为我的一些现有Dockerfile因Docker的bug不能工作, 这些bug是由于在AUFS上使用CentOS/Fedora镜像导致的。

总之,完成这些是一个巨大的工作量,并且我睡的很晚。但是我认为这是对未来的一个巨大投资,这可以节省构建Docker容器的时间。正因为Ubuntu没有像CentOS/Fedora上相同的Docker问题,我现在可以毫不费力在云提供商之间迁移。

原文链接:Goodbye Docker on CentOS. Hello Ubuntu!(翻译:chenhl)

原文发布时间为: 2016-01-20
本文作者:chenhl 
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:为了性能,请不要在CentOS中运行Docker,尽量用Ubuntu
目录
相关文章
|
10月前
|
Ubuntu 安全 Linux
CentOS与Ubuntu的深度对比与分析
Ubuntu更新频繁、文档丰富,适用于云服务与容器部署。 与CentOS的比较,Ubuntu基于Debian,而CentOS则源自RHEL。在软件包格式上,Ubuntu采用.deb和.snap,而CentOS则使用.rpm和flatpak。更新方面,Ubuntu使用apt,而CentOS则依赖yum。尽管CentOS以稳定性见长,不常对包进行更新,但这并不意味着Ubuntu在安全性上逊色。事实上,Ubuntu提供了更为丰富的文档和免费的技术支持。此外,Ubuntu的服务器版本在云服务和容器部署方面拥有更多的优势。
|
10月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
897 78
|
9月前
|
存储 Ubuntu 自动驾驶
运行Udacity的MPC控制项目指南(project_10)在Ubuntu 18.04环境下
以上步骤应该能够帮助您成功设置并运行Udacity MPC控制项目,在此过程中您将学习如何应用模型预测控制理论去指导车辆沿着轨迹自主驾驶,在模拟环境下测试其效果。这个过程不但涵盖了理论知识也有实践操作,对于学习自动驾驶车辆控制系统非常有帮助。
300 15
|
11月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
469 1
|
10月前
|
Ubuntu 安全 Unix
CentOS 与 Ubuntu 谁与争锋
不论你的选择如何,是 Ubuntu 还是 CentOS,两者都是非常优秀稳定的发行版。如果你想要一个发布周期更短的版本,那么就选 Ubuntu;如果你想要一个不经常变更包的版本,那么就选 CentOS。在下方留下的评论,说出你更钟爱哪一个吧!
|
10月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。
|
10月前
|
Ubuntu 安全 Linux
centos和ubuntu有什么区别
总的来说,CentOS 更适合用于服务器和企业级应用,因为它稳定、可靠、安全,并且提供长期支持。而 Ubuntu 则更适合用于桌面应用程序和开发环境,因为它更加注重用户体验和新技术支持。