測試帖:Windows上可直接運行Docker(文中附代碼按需取用)">測試帖:Windows上可直接運行Docker(文中附代碼按需取用)

分類:IT技術 時間:2017-09-26

說在前面

> 隨著Docker在雲計算市場的領先地位日益穩固,容器技術也逐漸成為了一種主流技術。另眾多程序員頭疼的是,由於Docker引擎使用了linux特有的內核功能,所以要在Windows中運行Docker就會變得十分繁瑣。對此,微軟公司進行了一次重大的更新調整,這次調整其實就是讓Dockerfor Windows 10 可以基於Windows內置的Hyper-V虛擬機技術,運行一個Linux 虛擬機,之後通過這個Linux VM虛擬機就可以直接運行Docker了。小編在這裏為眾多程序員長呼一口氣,終於可以和繁瑣的Boot2Docker說再見了!

————————————————————————————————————————————

在Windows系統上的Linux容器

微軟公司正在為Windows服務器的下一次重大更新做準備,裏面的某些新功能更是讓Docker的用戶為之興奮。在這次發布的預覽體驗版中,最重要的改進之一就是,Docker可以通過Hyper-V技術在Windows系統中即刻運行Linux容器了。

在Windows系統上運行Docker,只需要一個很小的Linux內核和用戶空間就能承載整個容器的進程。這也正是LinuxKit工具包的設計初衷——創建安全的、精簡的、可移植的Linux子系統。該系統內的所有服務都是由容器組成的,無論是系統元件或是應用程式,因此也方便置換和移除。LinuxKit的設計目的就是讓 Linux 容器功能可以相容於所有的非Linux平臺。

微軟公司表示:“我們一直致力於在Windows系統上對Docker 所需的LinuxKit工具包進行原型設計,目前已經成功設計出可以供您測試的工作預覽版。當然,這仍是一項正在進行中的工作,我們計劃在最近公布的“Windows Server Insider”版本或“Windows 10 Insider builds”版本中對其進行測試。”

————————————————————————————————————————————

實操演示——使用LinuxKit在Windows系統上運行Docker

> 下文中的演示案例已經在“Windows 10”和“Windows Server Insider builds 16278和16281”的版本中進行了測試。

在啟動之前,請務必安裝Docker for Windows 10 或Docker企業版(Windows Server Insider)。

————————————————————————————————————————————

安裝Docker和LinuxKit

第一步: 只需要在PowerShell中運行以下命令(具有管理員權限),就可以使用由LinuxKit構建的預覽體驗版了:

$progressPreference = 'silentlyContinue'

mkdir "$Env:ProgramFiles\Linux Containers”



Invoke-WebRequest -UseBasicParsing -OutFile linuxkit.zip https://github.com/friism/linuxkit/releases/download/preview-1/linuxkit.zip



Expand-Archive linuxkit.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."



rm linuxkit.zip

第二步: 現在構建一個Docker守護進程的主分支,其中包含Windows系統上的Linux容器的預覽支持:

Invoke -WebRequest -UseBasicParsing -OutFile dockerd.exe https://master.dockerproject.org/windows/x86_64/dockerd.exe

第三步: 在獨立的通道上啟動一個新的Docker守護進程,並使用默認安裝中的一個單獨的存儲位置:

$Env:LCOW_SUPPORTED=1 .\dockerd.exe -D --experimental -H "npipe:////./pipe//docker_lcow" --data-root c:\lcow

————————————————————————————————————————————

接下來試試看吧

運行一個Linux容器:

docker -H "npipe:////./pipe//docker_lcow" run -ti busybox sh

Docker剛剛啟動了一個最小的虛擬機,而這個虛擬機就是一個托管在Linux容器中運行LinuxKit的實例!

(註:因為這個演示案例是一個早期的預覽體驗版,所以具有局限性,但是並不影響Docker進行拉取鏡像或者運行容器等基礎操作。)

————————————————————————————————————————————

寫在最後

“Windows Server Insider builds” 和 “Docker support for Linux containers on Windows”都是早期的預覽體驗模式。當正式版本發布的時候,Windows開發者和服務器管理員在Windows系統中使用Docker的體驗會得到進一步提升。屆時,開發人員就能夠在同一系統上同時運行兩個平臺的容器,更輕松地構建、測試混合在Windows / Linux 兩個操作系統中的Docker應用程序。

喜歡Windows系統的IT管理員很快就可以通過運行在Windows系統上的Docker,來輕松地運行大部分Linux的獨有軟件,如HAProxy和Redis。譬如,在Windows系統上的Docker,將使Windows 服務器上的Docker企業版和可視化管理界面(依賴某些Linux獨占的組件)的設置步驟變得更加簡單。

最後,我們希望通過這個LinuxKit的演示,讓更多使用Windows系統的用戶嘗試使用Docker。

————————————————————————————————————————————

作者丨Rolf Neugebauer

文章來源: http://dwz.cn/6yffpi (編譯丨小東)


Tags: Windows Docker Linux 容器 微軟公司 運行

文章來源:


ads
ads

相關文章
ads

相關文章

ad