在CentOS上對Docker說再見,投入Ubuntu!

jopen 8年前發布 | 7K 次閱讀 Docker Ubuntu CentOS

【編者的話】生產環境里Docker運行在CentOS上似乎是大家的共識,但本文的作者通過自己在CentOS上使用Docker比在Ubuntu上性能緩慢的體驗差異,決定轉向在Ubuntu上使用Docker。你們是否對Docker運行在CentOS或Ubuntu上的性能差異有自己的見解,下面讓我們看看作者的理由。

多年來,我一直是一個鐵桿的CentOS用戶。我很喜歡它最小安裝創建的輕量環境,直觀的安裝過程和包管理軟件。Docker是當今最流行的容器格式,為開發人員和愛好者提供了一個在容器環境里運行任務的簡單方法。我開始在家里的生產環境中使用Docker大約有一年時間,運行的服務有Plex媒體服務器,本博客的Web服務器,ZNC服務器,MineCraft服務和MySQL服務等等。Dockerfile是一組用來創建Docker鏡像的指令。我投入了很多時間使用CentOS和Fedora制作完美的Dockerfiles,使在任何操作系統上都能簡單部署。然而,我卻正在醞釀變革 。

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問題,我現在可以毫不費力在云提供商之間更容易的移動。

原文鏈接: https://www.linux-toys.com/?p=374 (翻譯:chenhl)

來自: http://dockone.io/article/972

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!