天天看點

Docker 1.6釋出:Engine與編排工具更新、Registry 2.0及Windows用戶端預覽

本文講的是<b>Docker 1.6釋出:Engine與編排工具更新、Registry 2.0及Windows用戶端預覽</b>,【編者的話】Docker 1.6版本釋出了,一同釋出新版本的還有Registry 2.0、Compose、Swarm、Machine以及Docker Windows用戶端,這次的變更很贊,值得一試!

我們很高興來宣布對Docker Engine、Registry、Compose、Swarm和Machine的更新。我們将它們同時釋出,是以你可以一起測試,同時可以承載多個跨工具的特性。這些用來改善開發體驗的新特性主要有更快的拉取鏡像、Windows的預覽版Docker用戶端以及在Compose開發環境下支援更多的應用。

下面讓我們來一起看看Docker Engine1.6中有哪些新内容。

标簽使得使用者可以附加自定義的中繼資料到容器和鏡像上,這可以通過你的工具來使用。這個特性已經被反複提出一段時間了。社群在設計上達成共識并滿足大多數的使用場景,于是它成為1.6的一部分了。

我們非常的幸運擁有一些很棒的微軟工程師來幫助我們,他們的集體努力使得Docker的Windows用戶端能夠有一個官方的版本。了解你的軟體在一個特定的作業系統上是如何編寫,這是非常有意思的事情,是以我們非常感謝這些Windows專家們在這個過程中對于我們的指引。

Windows用戶端同一個遠端主控端一起工作,就像Mac用戶端一樣。我們甚至擴充了測試架構來适應Windows用戶端,當測試每一個PR到Engine的任務。

對于一個日志驅動的API已經有了持續增長的需求了,它使得你可以發送容器日志到其他系統中,如Syslog或者其他第三方工具。這個新的日志驅動延續了現在Engine中的exec驅動和存儲驅動的概念。

在<code>docker run</code>中增加了一個新的可選項參數<code>--log-dirver</code>,它有三個選項:<code>json-file</code>(這是個預設選項,和以前的功能一樣)、<code>syslog</code>和<code>none</code>。其中<code>syslog</code>驅動更新檔隻有70行代碼,希望這是一個先例,讓人們明白未來添加其他更新檔到Docker中是多麼容易的事情。一定不要忽視<code>none</code>,在特定的重量級的應用中,你可能不關心日志(如irssi),<code>none</code>是一個很好的選擇。

使用digest的案例是圍繞應用更新檔和更新。如果你想要推出一個安全更新,你現在可以指定鏡像中特定的digest做安全更新,確定伺服器正在運作安全更新。

容器由命名空間、功能和Cgroups組成。Docker已經支援了自定義的命名空間和功能。另外,在這個版本中我們已經增加了對自定義cgroups的支援。通過<code>--cgroup-parent</code>标簽,你可以傳遞一個特定的cgroup來運作一個容器在裡面。這使得你自己可以建立和管理cgroups。你可以為這些cgroups定義自定義的資源并且把容器放在一個通用的父組中。

直到現在,容器從docker守護程序中繼承ulimit設定。這可能會導緻極高地占用生産環境負載,但這樣并不理想。Ulimts使得你可以限制一個給定程序的資源(你可能已經熟悉<code>ulimit</code>指令)。在這個特征的幫助下,你可以在設定守護線程時指定預設的<code>ulimit</code>設定給所有的容器。例如:

這将為所有的容器設定一個軟限制1024和一個硬限制2048子線程。你可以多次設定這個可選項,例如:

當這樣建立一個容器時,這些設定會被覆寫:

這會覆寫預設的<code>nproc</code>值。

Swarm是一個原生Docker叢集。它将一群Docker主控端變成一個單一,虛拟的主機。Swarm 0.2在二月釋出的0.1版本的基礎上建構。它包括下面幾個新内容:

傳播政策:一個新的政策來排程叢集中的容器,在可用的節點中傳播它們。

更多Docker指令支援:更多進展關于支援完整Docker API的工作已經完成,例如支援拉取和檢閱鏡像。

叢集驅動:這已經不是第三方的驅動了,但第一步已經向建構一個嵌入式驅動接口邁進。未來可能會在叢集系統上使用Swarm,如Mesos。

Machine使得在你的機器、雲提供商和你的私有資料中心上建立Docker宿主很容易。Machine 0.2向一個穩定版本的Machine邁出了一步。主要集中在提高穩定性和擴充性上:

明确驅動接口:現在更容易來為提供商寫驅動。

更加可靠和持久化供應:供應伺服器現在由Machine處理,而不是讓每個驅動各自做事。

重生成TLS認證:一個新指令已經被添加,為了更好的安全事件以及其中某個主控端的IP變更,它用于重新生成一個主控端的TLS認證。

我們非常興奮關于新版本的釋出而且對未來的充滿了希望。感謝這個項目的所有貢獻者,這些都離不開你們的幫助。同時,我們感謝所有人,感謝你們對釋出版的測試、問題發現和提出。我們希望你們可以享受這次版本。貢獻者和管理者:我們在IRC上關注着你們。再次感謝大家!

===============================================

譯者介紹

陳傑,北京理工大學計算機學院在讀博士,研究方向是自然語言處理在企業網絡信譽評價方面的應用,平時也樂于去實作一些突發的想法。在疲于配置系統環境時發現了Docker,跟大家一起學習、使用和研究Docker。

原文釋出時間為:2015-04-17

本文作者:Sonyfe25cp

本文來自雲栖社群合作夥伴DockerOne,了解相關資訊可以關注DockerOne。

原文标題:Docker 1.6釋出:Engine與編排工具更新、Registry 2.0及Windows用戶端預覽

繼續閱讀