docker 镜像选择_为什么选择Docker?
docker 鏡像選擇
容器并不是什么新鮮事物,但是實現它們總是比需要的要復雜一些。 Docker在簡化容器方面取得了長足的進步,并從此引爆了整個世界。 讓我們看看為什么。
為什么Docker成為家喻戶曉的名字
Docker不是很老。 2014年5月,當我寫了一篇煽動性博客文章Docker是Heroku Killer時 ,它即將達到1.0版本。幾周后的后續行動叫做Tempering My Docker Enthusiasm 。 旁注, Heroku仍然很棒,我對Docker的熱情很強。 Heroku現在也支持Docker 。
自2014年6月發行1.0版以來,Docker甚至在谷歌,微軟,亞馬遜,思科,惠普,IBM,RedHat,VMWare等公司的共同努力下,以Docker為核心開發了 “云”。 那是不平凡的首次亮相。
有什么大不了的?
深入研究,Docker允許將應用程序隔離到容器中,并提供有關其生存所需的確切說明,可以輕松地在機器之間移植。 虛擬機也允許完全相同的事情,并且已經存在許多其他工具,例如Chef和Puppet,可以使這些配置的移植變得可移植和可復制。
盡管與這兩種情況相比,Docker的結構都更加簡化,但造成中斷的真正領域是資源效率。
如果要運行30個Docker容器,則可以在單個虛擬機上全部運行它們。 要運行30個虛擬機,您必須引導至少具有最低可用資源要求的30個操作系統,然后再將虛擬機管理程序考慮在內以使其可以在基本OS上運行。
僅假設您要使用最少256M的VM,您將使用具有30個不同OS內核來管理資源的7.5G RAM。 使用Docker,您可以將一個RAM分配給一個VM,并擁有一個OS來管理那些競爭的資源……并且您可以在基本操作系統上完成所有這些工作,而無需完全參與昂貴的虛擬機管理程序。
現在,所有這些聽起來對單個計算機上的競爭資源都很好,但是一對一的比較又如何呢? Boden Russell正是這樣做的: 對Docker vs KVM進行基準測試 。 Docker贏得了26比1的性能提升。
要記住的一個關鍵因素是,由于與Linux內核的緊密集成,Docker能夠執行其操作。 它可以在低水平上提供顯著的效率,因此,Docker不能(當前)替代Windows,OS X等虛擬機。在非Linux機器上運行Docker容器時,它們將在內部運行通過boot2docker虛擬機。
這些類型的效率提升可與亞馬遜等云提供商并在每小時出售的虛擬機上獲得26:1的性能提升相提并論。 對于他們的業務而言,這是一個巨大的推動力,因為您突然就能以相同的價格做更多的事情。 無需為需要部署的每個隔離應用程序購買兩個虛擬機(以實現負載平衡/可用性),您只需將三個較大的VM群集在一起,然后將所有虛擬機部署到其中,實際的處理器限制就可以了。
當企業圍繞云遷移制定成本效益決策時,這會極大地推動云提供商的發展……從而產生了混亂。
Docker實現一致的環境
Docker如此具有破壞性的另一個原因是可移植性。 至此,我們主要討論了云提供程序,但是使用了較早的示例,即需要30個容器才能運行30個虛擬機……請考慮您的開發計算機。
隨著微服務在開發領域的爆炸式增長,很有可能在筆記本電腦上進行開發會涉及同時啟動其中幾種服務才能正常工作。 Vagrant在每個VM的基礎上提供了幫助,但是如果我需要啟動四個或五個不同的微服務以在本地工作,這意味著我需要在筆記本電腦上運行四個或五個虛擬機,然后再進行其他工作。 使用Docker,可以簡化為更易于管理的單個VM。
復制在開發中建立的生產所面臨的永恒挑戰突然變成現實。 容器本身可以在與機器上的其他容器交談的許可下啟動。 每個端口都可以擁有自己的單獨端口,這些端口可以公開開放,甚至可以共享基本操作系統的資源。
這就是Docker在啟用持續集成,交付和部署管道方面提供巨大幫助的原因。 實際情況如下:
- 您的開發團隊能夠在易于編寫的Dockerfile中為微服務創建復雜的需求。
- 將代碼推送到您的git repo。
- 讓CI服務器將其拉下并構建EXACT環境,該環境將用于生產環境中以運行測試套件,而無需完全配置CI服務器。
- 完成后將其全部拆除。
- 將其部署到測試人員的暫存環境中,或者只是通知測試人員,以便他們可以運行單個命令來本地配置和啟動環境。
- 放心地將您在開發,測試和過渡到生產中所擁有的內容準確地進行滾動,而無需擔心機器配置。
許多不同的單獨語言已采取步驟以在其語言的泡泡內實現這種類型的工作流。 例如,Java擁有容器化的應用程序服務器已有十多年了,但是Docker在所有基于Linux的語言中啟用了它。
那……很大。
Docker不會消失
跳上“外觀,新技術流行語”潮流很容易,但是Docker仍然存在。 該行業正在全力以赴地對該技術進行重大投資,并且正在Swift采用。
當像Amazon這樣的公司發布自己的容器服務時, 像Tutum這樣的公司利用容器的可移植性來創建一個平臺,該平臺使您可以在AWS,Microsoft Azure,Digital Ocean的任何云提供商上使用Docker,甚至可以在您的服務器上對其進行自定義擁有。 順便說一下,Tutum最近剛剛被Docker收購 。
這就是Docker改變游戲規則的原因。 它解決了很多問題,這些問題阻礙了團隊的有效合作,并在降低成本的同時做到了。
翻譯自: https://www.javacodegeeks.com/2015/11/why-docker.html
docker 鏡像選擇
總結
以上是生活随笔為你收集整理的docker 镜像选择_为什么选择Docker?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式示例_状态设计模式示例
- 下一篇: 目前最具性价比的手机有哪些