Windows Server 2016 新功能實作筆記-Windows Server Containers(容器)

來看看Windows Server Containers作法吧

延續上一章內容 製作NanoServer,接著我們來看看怎麼測試Windows Server Containers(容器)功能

我對Docker是這樣想的:

Docker是碼頭工人,Containers是貨櫃,貨櫃底層都共用系統核心,每個貨櫃可以抽離或疊加,你在Containers做的變動都在沙箱,可以匯出並存檔

Windows Server Containers

以下操作在上一章節的DC1為範例,你的練習用VM要能連的上Internet喔

步驟1 在PowerShell中輸入指令,安裝Docker

Install-WindowsFeature containers

下指令後重新開機

你也可以在伺服器管理員的功能中看到

步驟2 輸入以下指令安裝套件,並重新開機

Install-PackageProvider -name Nuget -MinimumVersion 2.8.5.201 -force

Install-Module -Name DockerMsftProvider -Repository PSGallery -force

Install-Package -Name Docker -ProviderName DockerMsftProvider -force 

步驟3 重新開機完成後,讓我們來開啟Docker引擎所需要的防火牆Ports,在PowerShell輸入以下指令

netsh advfirewall firewall add rule name="Docker engine" dir=in action=allow protocol=TCP localport=2375

 

步驟4 重新註冊與啟動服務

//停止服務
stop-service docker
//註銷現有服務 
​dockerd --unregister-service

 

(我貼上這個指令就無法儲存網誌...只好以圖片代替)

//啟動
​start-service docker

好了可以開始用看看了

步驟5 搜尋可用映像檔案,並下載下來

docker search 想找的映像檔關鍵字

下載可用映像檔案

docker pull 映像檔案名稱

直接COPY搜尋結果就好

接下來,你可以熟悉以下指令,操作更順暢

顯示現有映像檔案

docker  images  

列出可用的映像檔案名稱

 

步驟6 執行映像檔案的程式

docker run -i -t 映像檔案名稱 程式名稱

it參數可以製造互動模式,本範例為執行CMD

已啟動的Container,有自己的主機名稱與ip喔

這是DC1本機的ip與名稱,跟上一張圖比較一下是不是很有感覺

查看現在容器的執行狀況

docker ps -a 

查看現在容器的執行程式

docker top 容器id

移除容器

docker rm 容器id

很多都是Linux上面既有的指令喔

其他請參考全面易懂的Docker指令大全

https://www.gitbook.com/book/joshhu⋯⋯

後記:

1. 步驟4裡面提到

可以參考Linux的dockerd參數 有提到-H 的意思,但後面的npipe://我就沒查到了 看起來是讓本機服務對應port的指令https://docs.docker.com/engine/refe⋯⋯

2. 所謂的沙箱到底是什麼?

參考移除容器那邊顯示的容器id(962fd27...),的確有個sandbox這個虛擬硬碟檔案叫做沙箱


Windows Container是一種共用本機系統底層核心的”可抽換式貨櫃”,所做的更動都會在

沙箱裡面,也可以匯出並存檔,以供日後使用,想想看,有哪些應用程式可以這樣做?你

為了跑多個不同機器的應用程式需要建立很多台虛擬機器嗎? 現在不一定了,你有另一個

選擇~Windows Server Container(容器)

啟動快、執行快,速度快,

以上是Container的實際操作介紹,下次再來寫更令人興奮的實作筆記給各位

Ken

Mailto: taleships@gmail.com