Windows ServerでDockerコンテナを実行する方法

Windows Server 上で Docker コンテナを実行するには、Windows コンテナランタイムをインストールし、互換性のある Windows リリース用にビルドされたイメージをプルして、 で起動しますdocker run。以下の手順では、Microsoft が公開している Moby (Docker CE) セットアップスクリプトと Docker CLI を使用します。多くの古いチュートリアルでは DockerMsftProvider を使用していますが、Microsoft のクイックスタートでは、スクリプトベースの別のセットアップパスが説明されています。

インストール前にランタイムを選択してください

MicrosoftのWindows Serverコンテナガイドでは、ランタイムオプションとしてMoby(Docker CE)、Mirantis Container Runtime(MCR)、およびcontainerdが挙げられています。Mobyは、ここで使用されているおなじみのDockerコマンドラインを提供します。ベンダーサポート付きの運用ランタイムとしては、MicrosoftのオンプレミスサポートガイダンスではMCRを推奨しています。インストールする前に、最新のMirantis互換性マトリックス、ライセンス、およびサポート条件を確認してください。MicrosoftのWindowsコンテナセットアップガイドでは、これらのオプションについて詳しく説明されています。

Docker Desktop は Windows Server ではサポートされていません。ネイティブの Windows Server コンテナは Windows イメージを実行しますが、コンテナはホストカーネルを共有するため、Linux イメージを直接実行することはできません。ワークロードで Linux コンテナが必要な場合は、Linux ホストまたは Linux 仮想マシンを使用してください。Microsoft は、Windows Server 上の Linux コンテナ (LCOW) は非推奨であり、Docker Desktop はサーバー エディションではサポートされていないと述べています。詳細については、Microsoft の Windows Server サポート ポリシーとDocker の Windows インストール ガイダンスを参照してください。

1. Windows Serverホストを確認します

Windowsの機能をインストールできるアカウントでサインインし、管理者としてPowerShellを開きます。後で対応するコンテナイメージを選択できるように、サーバーのリリースとビルドを記録しておきます。

Get-CimInstance Win32_OperatingSystem | Select Caption, Version, BuildNumber
Windows Serverのリリースとビルドを確認するための管理者向けPowerShellコマンド
Windowsコンテナイメージタグを選択する前に、ホストのバージョンを確認してください。

ホストには常に最新のパッチを適用してください。サーバーがHyper-V仮想マシンで、Hyper-V分離コンテナを実行する予定の場合は、仮想マシンにネストされた仮想化が必要です。プロセス分離コンテナでは、この追加のHyper-Vレイヤーは使用されません。分離モードを選択する前に、MicrosoftのWindowsコンテナホスト要件を参照してください。

2. MicrosoftのDocker CEインストーラーをダウンロードする

Microsoftの現在のクイックスタートでは、Windows-ContainersリポジトリにあるPowerShellスクリプトを使用します。管理者権限でPowerShellウィンドウを開き、以下のスクリプトをダウンロードしてください。

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -OutFile install-docker-ce.ps1
PowerShell コマンドを使用して Microsoft の Windows コンテナ Docker CE インストール スクリプトをダウンロードします。

マネージドサーバーの場合は、ダウンロードしたコードを実行する前に、組織のスクリプトレビュープロセスに従ってください。公式セットアップページでは、このスクリプトはMoby/Docker CEのインストール方法であり、コンテナ関連のオペレーティングシステム機能を有効にするとともに、ランタイムをインストールすると説明されています。

3. ランタイムをインストールする

ダウンロードしたスクリプトを保存したディレクトリから実行してください。

.install-docker-ce.ps1

セットアップが完了するまで待ち、再起動を促すメッセージが表示されたらそれに従ってください。このスクリプトは、Windowsコンテナホストを構成し、Docker Engineコンポーネントをインストールします。組織の実行ポリシーによりPowerShellがスクリプトの実行をブロックする場合は、マシン全体のポリシーを変更するのではなく、承認済みのソフトウェア展開プロセスを使用してください。

Windows Server上でDocker CEセットアップスクリプトを実行する管理者PowerShell
管理者権限でPowerShellセッションを起動し、要求された再起動をすべて実行してください。

4. Docker Engineが利用可能であることを確認します。

インストール後、必要に応じて再起動した後、再度サインインしてサービスとクライアントとデーモン間の接続を確認してください。

Get-Service docker
docker version
docker info

Get-ServiceDockerサービスが実行中であると報告されるはずです。 でdocker version、クライアントセクションとサーバーセクションの両方が表示されていることを確認してください。サーバーセクションが表示されない場合は、サービスの状態を確認し、セットアップに再起動が必要かどうかを確認してください。

PowerShell は、Docker Engine サービスと Docker クライアントおよびサーバーセクションをチェックします。
実行中のサービスと両方のDockerバージョンセクションは、CLIがエンジンにアクセスできることを示しています。

5. 画像タグをホストに一致させる

Windowsコンテナイメージは、一般的なLinuxイメージよりもホストOSのバージョンに密接に関連しています。まずは、対応する長期サービスチャネル(LTSC)タグから始めてください。

Windows Serverホストサーバーコアイメージタグ
Windows Server 2025ltsc2025
Windows Server 2022ltsc2022
Windows Server 2019ltsc2019

ホストとイメージのリリースを一致させることが、最も安全な出発点です。Microsoft のWindows コンテナ互換性表には、例外と分離動作に関する情報が記載されています。信頼できるレジストリからイメージを使用し、アプリケーション固有の要件についてはイメージ発行元の指示を確認してください。

Windows Server 2019、2022、および2025は、対応するLTSCコンテナイメージタグと一致しました。

6. テストコンテナをプルして実行する

Windows Server 2022 ホストの場合は、対応するタグを持つ Microsoft の Server Core イメージをプルしてください。これらのホスト リリースを使用する場合はltsc2025、またはを置き換えてください。ltsc2019

docker pull mcr.microsoft.com/windows/servercore:ltsc2022
PowerShell コマンドで Microsoft の Windows Server Core LTSC 2022 コンテナ イメージをプルする

イメージが起動できることを確認するために、一度だけコマンドを実行します。この--rmオプションは、コマンド終了時にこのテストコンテナを削除します。

docker run --rm mcr.microsoft.com/windows/servercore:ltsc2022 cmd /c echo Hello from a Windows container

PowerShellにテキストが表示されるはずです。画像はローカルにキャッシュされたままになり、一時コンテナは削除されます。

PowerShell がワンショットの Server Core コンテナを実行し、その echo 出力を表示する

7. アプリケーションコンテナの起動と管理

アプリケーションイメージの場合は、発行元の実行手順に従い、YOUR_IMAGE完全なイメージ名とタグに置き換えてください。この例では、という名前のバックグラウンドコンテナを起動しwebapp、ホストポート8080をコンテナポート80にマッピングします。アプリケーションがポート80でリッスンする場合にのみ、これらのポートを使用してください。

docker run -d --name webapp -p 8080:80 YOUR_IMAGE

必要に応じて容器を点検し、清掃してください。

docker ps
docker ps -a
docker logs webapp
docker stop webapp
docker rm webapp
コンテナの一覧表示、Webアプリケーションログの読み取り、停止、削除を行うためのPowerShellコマンド

docker ps実行中のコンテナを表示すると同時に、docker ps -a停止中のコンテナも一覧表示します。コンテナを削除しても、そのイメージは削除されません。アプリケーションがコンテナの置き換え後も保持する必要のあるデータを保存する場合は、イメージのドキュメントを使用してDockerボリュームまたはバインドマウントを設定し、外部からのアクセスを意図している場合にのみ、マッピングされたホストポートをWindowsファイアウォールで許可してください。

よくある起動時の問題

  • イメージがバージョンエラーで失敗します。ホストのリリースとイメージのLTSCタグを確認し、Microsoftの互換性テーブルを参照してください。Hyper-V分離は、サポートされている一部のバージョン組み合わせで役立ちますが、Hyper-Vロールと、VMの場合はネストされた仮想化が必要です。
  • Dockerサーバーにアクセスできません。Get-Service docker必要に応じてサービスを確認し、開始または再起動し、保留中のホストの再起動を完了してください。
  • イメージのプルに失敗しました。レジストリ名とタグ、Microsoft Container Registryへのアウトバウンドアクセス、およびプロキシまたはファイアウォールルールを確認してください。Linuxイメージには、LinuxホストまたはVM上のLinuxランタイムが必要です。

ランタイムの選択、イメージサービス、ホストサポートの詳細については、リンク先のMicrosoftおよびMirantisのドキュメントを参照してください。サポート対象バージョンやインストール手順は変更される可能性があるためです。

コメントを残す

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcher Studioを使えば、写真を絵画、鉛筆画、漫画に変換できます。エフェクトの選択方法、プレビューの調整方法、作品の保存方法を学びましょう。

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別子がビットレート、エンコーダー、タグについて何を明らかにするのか、従来のワークフローがどのように機能するのか、そして現在利用可能なツールの中で、ファイルの検査や楽曲の識別に使えるものはどれなのかを学びましょう。

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Indexは、ローカル画像のタグ付け、評価、閲覧を行うための、Windows向けの旧来の写真カタログツールです。その機能、互換性の制限、および現在もサポートされている代替ツールについてご確認ください。

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用して、Windowsファイルの属性とタイムスタンプを編集したり、JPEG EXIF写真の日付を更新したり、バッチ変更を安全にプレビューしたりする方法を学びましょう。

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10の各モニターに個別の壁紙を設定し、ディスプレイを識別し、画像のフィットを調整し、モニターの選択肢が見つからない場合のトラブルシューティングを行います。

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewerの機能、写真モードとコミックモードの仕組み、ダウンロードすべきWindows版、そして旧バージョンと改訂版の違いについて学びましょう。

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloaderプロジェクトの作成方法、クロール範囲の選択方法、画像フィルタと保存先の設定方法、バッチダウンロードの確認方法を学びましょう。

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7または8用のスライドショーを設定し、簡単なVBScriptショートカットを作成して、キーボードショートカットキーを割り当てて次の壁紙に進めるようにします。

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvertを使えば、エフェクトの適用、写真のリサイズ、画像フォーマットの一括変換が可能です。出力設定の選択、編集内容のプレビュー、オリジナル画像の保護も行えます。

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeAppを使って、インストール済みのWindowsアプリケーションを別のPCに移行しましょう。TAPパッケージの仕組み、設定の取得方法、転送できない可能性のある項目について学びます。