我們很高興的宣布 Docker 1.8 的發布,最新的版本包含了對鏡像簽名的支持,新的安裝器以及 Engine、Compose、Swarm、Machine 以及 Registry 的多項改進。
你們過去總是和我們說想要一個擴展性更好的 Docker 以及一系列更小的可單獨運行組件所組合起來的 Docker。我們清楚的聽到了你們的吶喊。七月時,我們曾宣布將 runC 作為一個獨立組件來發展的路線。隨著這次新版的發布,我們又一次向這個目標推進了一步。這次發布的鏡像簽名系統是一個獨立的組件,名稱為 Notary。在 1.7 中存儲卷插件是一個試驗特性,現在該功能已經被集成到穩定發行版中。
為了幫助用戶在生產環境中使用Docker,Docker 1.8做了很多重大改進。
Docker 可信鏡像及升級框架(The Update Framework,TUF)
Docker 可信鏡像是 1.8 所提供的一個新功能,這使得我們可以校驗鏡像的發布者。當發布者將鏡像 push 到遠程的倉庫, Docker 會對鏡像用私鑰進行簽名。之后去 pull 這個鏡像,Docker 會用發布者的公鑰來校驗該鏡像是否和發布者所發布的鏡像一致,是否被篡改過是否是最新版。
更多關于可信鏡像的內容以及 TUF 的使用可以參考這篇博客。
Docker 工具箱
和 Docker 一同發布的還有我們為 Mac OS X 以及 Windows 所準備的新安裝器 Docker Toolbox。
Toolbox 是獲取以及運行 Docker 生產環境最快捷的方式。它將會安裝 Docker 客戶端、Machine、Compose(Mac 環境下)以及 VirtualBox 所有你運行 Docker 所需要的工具。
快來下載 Docker Toolbox 吧,或者在這篇博客中閱讀更多 Toolbox 相關的內容。
Docker Engine 1.8
在最新版 Docker 中我們引入了存儲卷插件的實驗特性,允許用戶選擇第三方存儲系統作為存儲卷的后端。存儲卷插件目前已經集成到 Docker 穩定版本中,社區的小伙伴們也積極的將各種存儲系統與 Docker 進行集成。Blockridge、Ceph、ClusterHQ和 EMC 都已經加入到我們的生態系統之中。
在 1.6 版本我們加入了日志驅動,使得用戶可以將日志直接從容器輸出到如 syslogd 這樣的日志系統中。在1.8版本中,我們加入了對更多日志系統的支持:GELF、Fluentd 以及一個可以在你的磁盤上切割日志的驅動。
除此之外,我們還加入了一些會讓你喜歡的小功能:
從宿主機向容器復制文件:docker cp 過去只能從容器向外復制文件,現在他可從另一個方向工作了:docker cp foo.txt mycontainer:/foo.txt
Daemon command:現在運行 daemon 可以通過新的 docker daemon 命令來啟動,來替代之前的 -d 選項。這使得 Docker 的命令行選項對于客戶端 (docker --help) 和 daemon (docker daemon --help) 區別更加的清晰。
定制化 ps 格式:docker ps 的新參數 --format 可以用來自定義該命令的輸出格式。
可配置的客戶端配置文件目錄:Docker 客戶端將一些配置文件存放在 ~/.docker 中。為了應對你需要在一臺機器上運行多個客戶端的情況我們新蹭了 --config 選項來設置配置文件路徑以及 DOCKER_CONFIG環境變量。
在完整的發布日志中可以得到更多細節相關信息。在安裝指南中介紹了標準的升級步驟。如果你的系統是 Ubuntu、Debian、Fedora、CentOS 或者 Oracle Linux,你可能會對我們本版本最新加入的 apt 和 yum 源感興趣。
Docker Registry 2.1
遙想四月份,我們發布了 Registry 2.0 并且引入了新的鏡像格式以及針對 pull 鏡像性能更好的架構。現在我們發布了 Registry 2.1,這是一個更快,更安全的 Registry 并提供了下面一些新的特性:
List 鏡像:現在你可以用新的 API 來列出你倉庫中的鏡像。
新的存儲驅動:除了 Amazon S3 以及 Azure 外,鏡像現在可以存儲在 OpenStack Swift、Ceph Rados 以及 Aliyun OSS 上。
軟刪除:現在你可以通過 API 來刪除倉庫中通過引用所指向的鏡像及 layer。
在發布日志中可以獲得完整的細節信息,或者可以直接從開始文檔開始。
編排升級
我們升級了 Compose、Swarm 和 Machine 來更好的支持編排分布式應用。下面是 Compose 1.4 的新特性:
大幅提速:你將會發現應用啟動和停止都變得特別特別特別快。Compose 現在只會在需要時重新創建容器,并且盡可能的并行執行操作。
自定義容器名: 你可以在 Compose 文件中傳入 container_name 選項來給服務容器一個特定的名稱。
從標準輸入讀取配置:Compose 現在可以從標準輸入讀取配置,你可以自動畫的生成配置文件:
$ echo 'redis: {"image": "redis"}' | docker-compose --file - up
在發布日志中有詳細的細節介紹。如果你的系統是 Mac OS X,那么你可以下載 Toolbox 來試驗 Compose。如果你在其它系統平臺請參考安裝手冊。
Machine 0.4 作為安裝 Docker 開發環境的推薦方式,現在默認包含在 Toolbox 中。這個版本支持為 Engine 配置 HTTP 代理以及其它一些小的功能。更多細節在發布日志中可以查看,也可以直接下載 Toolbox 來試驗 Machine。
Swarm 0.4 現在已經是穩定可靠的了。它包含了一些列內建調度器的優化以及 Mesos 驅動器的優化。現在你可以通過 Docker 工具來控制一個 Mesos 集群。更多細節可以參考發布日志 或者通過開始手冊來運行 Swarm。