微軟與Docker發布Windows Server容器預覽版
現在可以在容器內運行專門針對Windows操作系統的軟件了。 Windows Server 2016技術預覽版3 是第一個支持該項技術的Windows版本。 Windows Server容器 提供了和Linux容器非常類似的功能,但是它需要在Windows生態系統的上下文中。Docker也發布了它的技術預覽版,展示了它是如何管理Windows容器的。
正如Docker工程經理Arnaud Porterie 所述 ,由于操作系統的根本差異,Docker的Linux和Windows功能集將不可能完全相同。盡管如此,大部分Docker命令可以在這兩種容器技術上都能夠正常工作。Dockerfile和docker build命令都已經支持。不過,docker push命令在這次發布的版本中還不支持。
微軟構建了 hcsshim ,它為Docker執行Windows Server上的容器提供了執行驅動。所謂的執行驅動是Docker中的一個模塊,用于調用內核代碼來執行容器。它的每種實現都針對一個特定的操作系統,因此為Windows Server容器提供的Docker守護進程無法運行Linux鏡像。
PowerShell也能夠 管理Windows Server容器 。目前一個工具(如PowerShell)創建的容器,對于另一個工具(即Docker)是不可見的。二者之間的差異解釋了這樣的行為。差異的范圍,從大小寫這種簡單的問題,到條件競爭這種復雜的場景。這對于長期來說不是一個期望的行為,因此在后續發展道路上,這些事情可能會有所改變。
微軟還推出了Hyper-V容器,它像是在Hyper-V分區中的Windows Server容器。Hyper-V容器用Windows Server容器的速度和效率,交換了更好的隔離性和安全性。在多租戶系統場景中,Hyper-V容器就是一種優選的解決方案。
微軟,和Docker、Google等行業巨頭,都是開放容器倡議(Open Container Initiative,OCI)的創始成員。開放容器倡議旨在創建“圍繞著容器格式和運行時的開放行業標準”。Docker捐贈了 runC ,將其容器格式和運行時提供給開放容器倡議。 開放容器規范 可以在GitHub上進行閱讀。
嘗試這種技術最簡單的方法是遵循快 速入門指南 在Azure上運行Windows Server容器。Azure已經提供了Windows Server 2016技術預覽版3的鏡像。也可以在 Hyper-V虛擬機 或者 Windows Server 2016技術預覽版核心安裝 中嘗試Windows Server容器。
Windows Server容器仍然在開發中,因此值得去看一看 已知問題 ,例如因為反惡意軟件解決方案導致的容器啟動速度慢等。 Windows Server容器論壇 是提問的好地方,有微軟工程師會回答一些問題。Lumagate公司的首席技術官Kristian Nese正在撰寫以Windows世界中的容器為話題的 系列文章 。
查看英文原文: http://www.infoq.com/news/2015/09/windows-server-containers