什麼是容器?
容器是可執行應用程式的獨立環境。
容器、應用程式及所有相依性項目 (例如核心作業系統、CPU 和記憶體) 都建構在部份的主機資源內,然後以邏輯方式與其他容器和主機本身分隔。
下圖說明紅色和黃色容器如何使用相同的硬體和核心作業系統,在同一個主機中共存,但包含各自的獨立空間,使其在無需外部介入的情況下執行應用程式。
請注意,安裝在該硬體上的相同硬體和作業系統如何執行其獨立的應用程式和服務,且各個容器發生的內容也互相分隔。
如何在 Windows Server 中建立和執行容器
容器可在 Linux、Windows 和 Mac 作業系統等各種平台上執行。但本文/示範著重於在 Windows Server 中執行容器。
您有多種方法可在 Windows 內使用容器,包括 Windows Admin Center (WAC) 或 Visual Studio。不過在本文/示範中,我們會使用 Docker。
Docker 是一種平台即服務產品,可用來將應用程式、其所有相依性項目及組態資訊結合在稱為「容器」的單一套裝內。之後,可使用 Docker 派送、執行或刪除容器。
後續的步驟是在全新安裝的 Windows Server 2022 中執行。
您可以在以下外部連結中找到在 Windows Server 上執行容器的先決條件清單:
開始使用:為 Windows 準備使用容器
在 Windows Server 中使用 Docker 建立與執行容器的步驟可總結為以下幾步:
1.安裝 Docker
在 PowerShell (以系統管理員身分執行) 中輸入:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
在出現提示時輸入「
Y」以確認安裝 NuGet。
在相同的 PowerShell 工作階段中輸入:
Install-Package -Name docker -ProviderName DockerMsftProvider
在出現提示時輸入「
Y」以信任套裝。
在相同的 PowerShell 工作階段中輸入:
Restart-Computer
2.建立 Docker 檔案並下載容器映像
在提升權限的 PowerShell 工作階段中,輸入以下內容以切換到根目錄並建立新資料夾:
cd\
mkdir Containers
cd Containers
在相同的 PowerShell 工作階段中,輸入以下內容以建立 docker 檔案並編輯檔案:
New-Item dockerfile
(請注意,沒有副檔名)
notepad dockerfile
在記事本文字編輯器中,輸入下列 3 行,然後儲存並關閉 dockerfile:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
返回 Powershell,仍然在 C:\Containers 中,輸入以下內容以建立一個 html 檔案並進行編輯:
New-Item index.html
notepad index.html
在記事本文字編輯器中,輸入下列 3 行,然後儲存並關閉 index.html 檔案:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3.組件並執行容器。
返回 PowerShell,仍在 C:\Containers 中,輸入:
docker build -t webserver .
等待從 Microsoft Container Registry 下載映像,然後輸入:
docker images
您現在應該會看到下載的映像。
最後,我們要使用下載的映像範本執行容器,回到 powershell 並輸入:
docker run --name container1 -d -p 80:80 webserver
最後一行命令會根據我們準備的 webserver 映像,建立並執行名為 container1 的容器。「-d」切換值會指示 Windows 在背景執行容器,「-p」則會告訴 windows 將主機的連接埠 80 (HTTP) 轉傳到容器的連接埠 80。
若要測試容器:
在主機上開啟網路瀏覽器,瀏覽至 localhost (您也可以使用位於相同網路區段的不同電腦,瀏覽至容器的主機 IP 位置或電腦名稱)。
您應該會看到我們稍早建立的 HTML 網頁:
以上便是如何在 Windows Server 2022 上執行 Docker 容器的教學。