摘要:通過這個過程,我們已經(jīng)與微軟開發(fā)人員密切合作。兩個世界的碰撞這項(xiàng)工作始于年月,對于一個開源項(xiàng)目,它讓我們保持與微軟不可思議的互動。對于容器,微軟團(tuán)隊將其融入。
作為Docker Engine團(tuán)隊的核心工程師,我在Linux上自然花了大部分時間。這種情況最近已經(jīng)改變:今年4月,我們發(fā)布了一個Docker客戶端的Windows版本。通過這個過程,我們已經(jīng)與微軟開發(fā)人員密切合作。
我被問到的最多的一個問題就是:“Docker什么時候?qū)⒃赪indows上運(yùn)行?”,對于這個問題現(xiàn)在有了令人興奮的回答。
因?yàn)楸局苡辛藰?biāo)志性的巨大飛躍,我們?yōu)閃indows Server發(fā)布了Docker Engine技術(shù)預(yù)覽版, Windows daemon現(xiàn)在已經(jīng)可以下載和測試了。Windows Server 2016 Technical Preview 3 (TP3) 和Windows Server上的 Docker Engine一起為更多的開發(fā)者帶來Docker體驗(yàn)——構(gòu)建新的軟件和為項(xiàng)目做貢獻(xiàn)。
Docker daemon簡介這其中也有許多令人困惑的地方,比如在Windows Server上運(yùn)行Docker意味著什么。這里有一些要點(diǎn)需要澄清:
Windows Server端口之上的DockerEngine并不是一個頭文件,也不是一個不同的項(xiàng)目,它同樣為Linux和Windows構(gòu)建的開源代碼庫。
Windows Server 之上的Docker技術(shù)預(yù)覽版功能尚未完善,大部分的Docker命令你已經(jīng)知道將在Windows Server正常工作。例如,你可以像在Linux上一樣編寫一個Dockerfile 和docker build。
Windows Server 之上的Docker daemon沒有運(yùn)行Linux image。不涉及虛擬化。Windows Server Containers重用(reuse)主機(jī)內(nèi)核并為進(jìn)程創(chuàng)建一個沙箱環(huán)境,就像在Linux之上一樣。
這意味著Docker正在成為運(yùn)行進(jìn)程時一個平臺不可知論的接口。例如,有一個一致的API允許跨Linux和Windows Server混合集群主機(jī)分發(fā)工作負(fù)載,這個混合集群是通過Docker Swarm使用單一的DockerCLI和相同的Docker指令編排的。沒有任何新命令學(xué)習(xí),相同的開發(fā)人員構(gòu)建軟件時現(xiàn)在有了更多的選擇。
兩個世界的碰撞這項(xiàng)工作始于2014年11月,對于一個開源項(xiàng)目,它讓我們保持與微軟不可思議的互動。即使我們承認(rèn)在早期有點(diǎn)懷疑,現(xiàn)在我們不得不承認(rèn)我們已經(jīng)被微軟的貢獻(xiàn)者的進(jìn)度大為吃驚(真的,有點(diǎn)不知所措),從Ahmet Alp Balkan 和他在客戶端的工作,緊隨其后的是John Howard, John Starks, and Stefan Wernli 守護(hù)進(jìn)程方面。說真的,謝謝加入Docker的貢獻(xiàn)者社區(qū)。
總的來說,微軟團(tuán)隊通過大約180000行代碼修改實(shí)現(xiàn)了這一點(diǎn),所有這些全部公開并且正在經(jīng)過嚴(yán)格的Docker項(xiàng)目評估過程。
Introducing Nyancat, our best ANSi Emulator stress test.
Docker移植到Windows容器運(yùn)行和內(nèi)核依賴
人們普遍認(rèn)為Docker廣泛使用Linux內(nèi)核。同樣,微軟已經(jīng)將集裝箱化基本體添加到Windows內(nèi)核,允許任何用戶代碼執(zhí)行過程在沙箱環(huán)境中。這些功能只有在剛剛發(fā)布的Windows Server 2016 Tech Preview 3 (TP3)上獲得,這使得它成為目前唯一的Windows能夠運(yùn)行Docker daemon的Windows Server操作系統(tǒng)。
在Docker的代碼庫中,容器的執(zhí)行塊稱為execdriver,作為一個在Linux上的默認(rèn)實(shí)現(xiàn)調(diào)用tolibcontainer——在不久的將來將依靠runC。對于Windows容器,微軟Windows團(tuán)隊將其融入Windows specific execdriver。就像它的Linux副本,這個實(shí)現(xiàn)快速調(diào)用內(nèi)核代碼,以及通過 microsoft/hccshim包調(diào)用Host Compute Service。
有趣的是,我被告知,這是歷史上第一次Microsoft Windows基礎(chǔ)團(tuán)隊為開源項(xiàng)目貢獻(xiàn)代碼,這太酷了,不是嗎?
持續(xù)集成
持續(xù)集成是一個保護(hù)項(xiàng)目取得進(jìn)展的重要環(huán)節(jié)。事實(shí)上,絕大多數(shù)的貢獻(xiàn)者運(yùn)行Linux,不一定有環(huán)境或時間來驗(yàn)證他們的補(bǔ)丁不破壞構(gòu)建Windows。
這就是為什么第一步和關(guān)鍵的一步是build green(甚至刪除了許多塊),為了使Windows Server編譯作為持續(xù)集成工作。微軟的團(tuán)隊發(fā)送補(bǔ)丁來push the Windows port forward,CI將確保沒有其他貢獻(xiàn)增加更多不可移植的代碼,或者更糟的是,破壞已經(jīng)移植的代碼。
開始嘗試
我們很興奮你下載并試用Docker在Windows服務(wù)器。記住,這是一個技術(shù)預(yù)覽版,所以有一些局限性和命令docker push在這個版本不支持。有問題,記得反饋給我們。
備注:本文由張鵬程編譯整理,原文鏈接: http://blog.tenxcloud.com/?p=383
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26446.html
摘要:自從微軟和宣布合作以來,微軟一直在容器上面的戰(zhàn)略可謂穩(wěn)扎穩(wěn)打。最近,微軟加入,并作為創(chuàng)始成員承諾支持常見容器的格式和運(yùn)行。這種定位導(dǎo)致大家對于微軟容器戰(zhàn)略的認(rèn)識模糊。微軟的容器策略并不是可移植性說的直白一點(diǎn)。 自從微軟和Docker宣布合作以來,微軟Redmond一直在容器上面的戰(zhàn)略可謂穩(wěn)扎穩(wěn)打。最近,微軟加入Open Container Initiative (OCI),并作為創(chuàng)始成...
摘要:關(guān)于這個渠道的介紹,大家可以參閱微軟官方文檔。各位可以從微軟官網(wǎng)下載的測試版本,而則是面向批量授權(quán)用戶的,如果您是訂閱用戶,也可以在訂閱站點(diǎn)下載。安裝過程中需要執(zhí)行以下命令。重啟完成后可以通過確認(rèn)服務(wù)是否正常啟動。 前言 經(jīng)過前兩篇文章的鋪墊,今天我們來講下如何在Windows環(huán)境下安裝Docker。眾所周知,Windows分為客戶端和服務(wù)器端兩條產(chǎn)品線,對應(yīng)到的最新版本是Window...
摘要:自推出以來,許多重大的里程碑事件都推動了容器革命。它支持廣泛的編程語言基礎(chǔ)設(shè)施選項(xiàng),并獲得容器生態(tài)系統(tǒng)的巨大支持。結(jié)論容器生態(tài)系統(tǒng)仍然在不斷發(fā)展與改變。最值得關(guān)注的,是在這一領(lǐng)域中,和各個供應(yīng)商是如何進(jìn)步,以推動容器生態(tài)系統(tǒng)的發(fā)展的。 Docker于 2013年推出以來,給軟件開發(fā)帶來了極具傳染性的振奮和創(chuàng)新,并獲得了來自各個行業(yè)、各個領(lǐng)域的巨大的支持——從大企業(yè)到初創(chuàng)公司,從研發(fā)到各...
閱讀 2925·2021-11-17 09:33
閱讀 3705·2021-11-16 11:42
閱讀 3528·2021-10-26 09:50
閱讀 1404·2021-09-22 15:49
閱讀 3072·2021-08-10 09:44
閱讀 3735·2019-08-29 18:36
閱讀 3985·2019-08-29 16:43
閱讀 2265·2019-08-29 14:10