コンテナとは
コンテナは、アプリケーションを実行できる隔離された環境です。
そのコンテナでは、アプリケーションおよびそのすべての依存関係は、カーネル オペレーティング システム、CPU、メモリーなどのホストのリソースで構築され、他のコンテナやホスト自体から論理的に分離されます。
次の図は、同じハードウェアとカーネル オペレーティング システムを使用して、同じホスト内に赤色と黄色のコンテナがどのように共存するかを示しています。ただし、これらのコンテナは、個々のスペースに分離されており、外部からの干渉なしにアプリケーションを実行できます。
同じハードウェアとそのハードウェアにインストールされているオペレーティング システムは、各コンテナで何が起こるかとは独立して、独自のアプリケーションとサービスを実行できることに注意してください。
Windows Serverでコンテナを作成および実行する方法
コンテナは、Linux、Windows、Macオペレーティング システムなどのさまざまなプラットフォームで実行できます。ただし、この記事/デモでは、Windows Serverでコンテナを実行する方法に重点を置いて説明します。
Windows Admin Center (WAC)やVisual Studioなど、Windowsコンテナを使用する方法は複数あります。ただし、この記事/デモでは、Dockerが使用されています。
Dockerは、アプリケーションおよびそのすべての依存関係と構成情報をコンテナと呼ばれる単一のパッケージに結合するために使用できる、Platform-as-a-Service製品です。Dockerを使用して、コンテナの出荷、実行、削除を行うことができます。
以下の手順は、Windows Server 2022の新規インストールで実行したものです。
Windows Serverでコンテナを実行するための動作条件のリストは、次の外部リンクにあります。
はじめに:コンテナ用のWindowsの準備
Dockerを使用してWindows Serverでコンテナを作成および実行する手順は、次のように要約できます。
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セッションで、次のように入力し、dockerfileを作成して編集します。
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
この最後の行は、準備したWebサーバー イメージに基づいてcontainer1という名前のコンテナを作成して実行します。-dスイッチはWindowsにバックグラウンドでコンテナを実行するように指示し、-pはWindowsにホストのポート80 (HTTP)をコンテナのポート80に転送するように指示します。
コンテナをテストする方法:
ホストでWebブラウザーを開き、localhostを参照します(同じネットワーク セグメント上の別のコンピューターを使用して、コンテナのホストIPアドレスまたはコンピューター名を参照することもできます)。
前に作成したサンプルのHTML Webページを押す必要があります。
これで、Windows Server 2022でDockerコンテナを実行する方法に関するチュートリアルは終了です。