採用微軟開發的Windows容器技術,就能夠以Windows Server容器提供類似Linux的容器環境。若同時結合Docker容器管理技術,則可減輕資料中心維運人員的管理負擔。本文將介紹Windows容器技術,並進行實作示範。
完成IIS容器互動模式並自訂IIS歡迎頁面內容的動作後,先確認Windows Server容器主機的防火牆規則中是否已經允許TCP Port 80的網路流量能夠通過防火牆。
接著,使用「別台主機」透過瀏覽器連接至Windows Server容器主機的IP位址,本文實作環境中Windows Server容器主機的IP位址為「http://10.10.75.69」,如圖13所示,此時應該能夠順利顯示剛才自訂的IIS歡迎頁面內容。
|
▲ 圖13 順利看到剛才自訂的IIS歡迎頁面內容。 |
倘若管理人員要「停止」IIS容器,只要執行「docker stop <容器名稱或容器ID>」即可,後續若要再將IIS容器「啟動」,也只要執行「docker start <容器名稱或容器ID>」。若想「重新啟動」IIS容器,則執行「docker restart <容器名稱或容器ID>」,如圖14所示。
|
▲ 圖14 針對容器進行停止、啟動、重新啟動等基本操作。 |
客製化Windows Server容器
在剛才的實作練習中,都是執行官方預先提供的範例容器,或者下載及執行容器後再進行修改,接著將實作練習客製化Windows Server容器,依據企業及組織的運作需求自行打造符合內部運作環境的容器。
重新建立新的容器映像檔
以剛才所練習的IIS容器為例,先執行「docker stop MyIIS」指令將IIS容器停止運作,再使用「docker ps -a」指令,確認IIS容器的運作狀態為「Exited」,表示已經停止運作。
然後,如圖15所示執行「docker commit MyIIS weithenn/myiis」指令,將剛才已經修改過內容的IIS容器重新建立成新的容器映像檔,並且客製化名稱為「weithenn/myiis」。重新建立容器映像檔的動作執行完成後,可使用「docker images」指令進行確認。
|
▲ 圖15 重新建立新的IIS容器映像檔並且客製化名稱為weithenn/myiis。 |
推送容器映像檔至Docker Hub
重新建立IIS容器映像檔的動作執行完成後,可以將這個客製化的IIS容器映像檔推送至Docker Hub,以便後續不管在哪一台Windows Server容器主機上需要使用此客製化IIS容器時,都能夠透過網際網路連線從Docker Hub網站下載後使用。當然,管理人員必須先至Docker Hub網站註冊帳戶以便產生Repositories容器存放庫。
確認Docker Hub帳戶註冊且運作無誤後,回到Windows Server容器主機上執行「docker login」指令進行登入Docker Hub網站的動作。成功登入Docker Hub網站後,執行「docker push weithenn/myiis」指令,將剛才重新建立的IIS容器映像檔上傳至Docker Hub網站上,如圖16所示。
|
▲ 圖16 上傳客製化的IIS容器映像檔至Docker Hub網站。 |
測試客製化的IIS容器
順利將客製化後的IIS容器映像檔上傳至Docker Hub網站後,接著便可測試是否能夠隨時由Docker Hub網站上,下載所客製化後的IIS容器映像檔並且執行部署的動作。
首先,執行「docker rmi weithenn/myiis」指令,將Windows Server容器主機中原有的「weithenn/myiis」容器映像檔刪除,並執行「docker images」指令再次確認「weithenn/myiis」容器映像檔是否已經刪除成功,如圖17所示。
|
▲ 圖17 將客製化的IIS容器映像檔刪除。 |
在確認已經把Windows Server容器主機中原有的「weithenn/myiis」容器映像檔刪除之後,便可以執行「docker pull weithenn/myiis」指令讓Windows Server容器主機至Docker Hub下載剛才所上傳的weithenn/myiis容器映像檔。
下載完成後,如圖18所示,便執行「docker run -d -p 80 :80 weithenn/myiis」指令,部署客製化過的「weithenn/myiis」容器映像檔,並輸入「docker ps」指令確認「weithenn/myiis」容器是否運作中。
|
▲ 圖18 至Docker Hub下載剛才所上傳的「weithenn/myiis」容器映像檔並進行部署作業。 |
結語
透過本文的說明及實作練習,管理人員應該可以體會到,透過Windows容器技術能夠以Windows Server容器提供類似Linux的容器環境,倘若需要更佳的容器隔離安全性的話,則部署Hyper-V容器。
同時,結合Docker容器管理技術,相信可以幫助企業和組織降低維運成本,並且也能降低資料中心維運人員的管理負擔。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>