最近更新文章
2017/11/21
偵測、鑑識、回應兼備 端點安全更上層樓
2017/11/21
四個開源大數據工具 打造超高速輿情監控系統
2017/11/20
VMware協助台灣託管服務商轉型並交付新型服務
2017/11/20
打造私有雲協作平台 重新定義工作型態
2017/11/20
虛擬桌面VMware再出招 新版Horizon 7.2大提升
2017/11/19
Pure Storage 推出全新SAP自動化拷貝工具(CAT)
2017/11/17
打造智慧工廠 IPC大廠分享實戰經驗
2017/11/17
跨雲時代的轉型秘訣
2017/11/17
行為鑑識搭配防毒引擎 提升端點偵測效率
2017/11/16
威聯通科技引領雲端風潮 整合高速運算啟動AI應用
2017/11/16
Juniper Networks協助國立暨南國際大學擴充校園核心網路
2017/11/16
EDR跨足次世代防毒 挺進端點保護平台市場
2017/11/15
台灣駭客隊伍數破新高,全球駭客12月來台爭冠
2017/11/15
趨勢科技獲 2017 NSS Labs 評測,入侵偵測率的完美成績
2017/11/15
紅帽與阿里雲攜手 運用開放原始碼技術帶來更高靈活性
2017/11/15
team+攜手VMware 打造俱行動安全管理的企業協作平台
2017/11/15
多功能工作站 設備擴充好利害
2017/11/15
SAP協助如興進行數位轉型
2017/11/15
英特爾首款桌上型電腦與工作站專用Optane固態硬碟
2017/11/15
曜越全新數位監控軟體 雲端智慧電源管理平台
2017/11/15
達友科技、中華電信與Carbon Black聯手打造最強資安艦隊!
2017/11/15
VMware結合凌華科技提出預先整合式物聯網方案
將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2017/8/28

微軟伺服器原生Docker環境 與Hyper-V容器原理不同

共用系統核心資源 玩轉Windows Server容器

王偉任
採用微軟開發的Windows容器技術,就能夠以Windows Server容器提供類似Linux的容器環境。若同時結合Docker容器管理技術,則可減輕資料中心維運人員的管理負擔。本文將介紹Windows容器技術,並進行實作示範。


在2013年時,有家名為dotCloud提供SaaS服務的公司,在該公司內有項名稱為Docker的業餘專案,它是使用Google的Go語言進行實作。

後來,dotCloud公司讓此專案加入Linux基金會並在GitHub進行推廣及維護,此專案迅速受到廣大開發人員的喜愛同時也讓DevOps議題捲起更大的浪潮,甚至dotCloud後來直接更改公司名稱為Docker Inc。

Docker容器管理技術如此受歡迎的主要原因之一,在於過去最困擾開發人員與維運人員的部分便是快速建立完備的開發環境。當開發人員需要某些開發環境時,企業或組織的維運人員便要依需求建立VM虛擬主機、安裝作業系統、組態設定網路環境等等,接著再交由開發人員安裝相關應用程式或載入函式庫等等,此時才準備好整個開發環境,而Docker的出現剛好能夠解決這個困擾已久的問題。




事實上,「容器」(Container)技術早已出現許久,而Docker則是讓容器管理這項工作任務變得容易操作及管理。一開始,Docker容器管理技術普遍只能運作在Linux環境中,而微軟自從新任執行長Satya上任並大力擁抱開放原始碼之後,也在新一代的Windows Server 2016雲端作業系統中與Docker公司合作,打造出在Windows Server 2016作業系統中原生執行Docker引擎的容器管理環境。

不同的容器管理環境

雖然在Windows Server 2016作業系統內已經成功打造Docker容器管理環境,但是整個Docker容器管理實作技術與Linux作業系統環境是完全不同的。簡單來說,Linux容器映像檔並無法運作在Windows Server Container容器環境內,而Windows容器映像檔也無法在Linux Container容器環境中運作,根本原因是採用「不同API」(Windows API vs Linux API)的運作環境,那麼就來看看有哪些根本上的不同,如圖1所示。


▲圖1 Linux與Windows容器環境運作架構示意圖。(圖片來源:Docker and Microsoft - Windows Server 2016 Technical Deep Dive)


Linux容器環境

Linux容器環境分成幾個部分,以下加以說明:

‧ Control Group:控制群組,針對共享資源進行隔離並管控硬體資源的使用,例如記憶體、檔案快取、CPU、磁碟I/O等等資源使用率的管理。

‧ Namespaces:命名空間,確保每個容器都有單獨的命名空間,讓容器之間的運作互相隔離不受任何影響。

‧ AUFS:檔案系統,不同容器之間可以共享相同基礎的檔案系統層,實現分層功能,並將不同目錄掛載到同一個虛擬檔案系統中。

小標Windows容器環境

Windows容器環境區分幾個部分,以下分開說明:

‧ Job Objects:類似Linux容器環境中的控制群組機制。

‧ Object Namespace、Process Table、Networking:類似Linux容器環境中的命名空間機制。

‧ Compute Service:作業系統層級的運算服務層。

‧ NTFS:檔案系統,每個運作的容器各自擁有一份NTFS分區表,搭配虛擬區塊儲存裝置建立容器多層式檔案系統,再利用Symlink機制把不同層級的檔案對應到Host環境檔案系統內的實際檔案,以減少虛擬區塊儲存裝置所占用的儲存空間。




此外,在Docker版本方面,到了2017年也有重大改變,從2017年3月開始Docker採用新的版本以及版本命名規則。首先,Docker EE(Enterprise Edition)取代舊有的Docker CS(Commercially Supported)版本,而Docker開放原始碼版本重新命名為Docker CE(Community Edition)。至於版本命名規則與Ubuntu的命名規則類似,將以西元「年.月」的方式命名,例如v17.03、v17.06、v17.09等等,如圖2所示。


▲圖2 Docker版本命名規則示意圖。(圖片來源:Docker Blog - Announcing Docker Enterprise Edition)


這篇文章讓你覺得滿意不滿意
送出
相關文章
WS2016持續蛻變 RS3版本新功能快速預覽
微服務容器不是易開罐
正確撰寫Dockerfile 製作最好用容器映像檔
開源造就敏捷競爭力
實際動手操作Docker 學會Volume及Network
留言
顯示暱稱:
留言內容:
送出