Contents
Docker Desktop for Windows のシステム要件と WSL 2 有効化手順
Docker Desktop を本番・開発どちらでも安定して利用するためには、OS とハードウェアが公式の最低要件を満たすこと が前提です。また、Windows 版 Docker は内部で WSL 2(Linux カーネル)を使用してコンテナを実行します。ここでは現在(2024 年時点)の推奨環境と、必ず実施すべき WSL 2 の有効化手順を解説します。
推奨ハードウェア/OS
| 項目 | 最低要件 | 推奨 |
|---|---|---|
| OS | Windows 10 バージョン 22H2(64‑bit)または Windows 11(64‑bit) | 最新の累積的更新プログラムが適用されたもの |
| エディション | Pro、Enterprise、Education のいずれか | 同上 |
| CPU | Intel VT‑x または AMD‑V が有効な 64 ビットプロセッサ | 同上 |
| メモリ | 8 GB 以上 | 16 GB 以上 |
| ディスク空き容量 | Docker Desktop 本体+イメージ保存で最低 10 GB | 20 GB 以上確保すると余裕がある |
これらは公式インストールガイドの 「System requirements」 に記載されています(Docker Docs – Windows system requirements)。
WSL 2 の有効化手順
WSL 2 が無効な状態で Docker Desktop を起動すると、エラーやパフォーマンス低下が頻発します。以下の手順は PowerShell(管理者)から実行でき、スクリプト化も容易です。
WSL 2 のインストールと既定ディストリビューション設定
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 1. Windows Subsystem for Linux と Virtual Machine Platform を有効化 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 2. 再起動(自動で行われない場合は手動で実施) Restart-Computer -Force # 3. Ubuntu (最新 LTS) をインストールし、WSL 2 として設定 wsl --install -d Ubuntu # 4. デフォルトディストリビューションを確認・変更(任意) wsl --set-default Ubuntu |
再起動後に以下コマンドで Version 2 が表示されれば完了です。
|
1 2 |
wsl -l -v |
ポイント:BIOS/UEFI の「Virtualization Technology」や「Hyper‑V」が無効になっていると上記コマンドが失敗します。必要に応じて設定を有効化してください(Microsoft – Enable virtualization)。
Docker Desktop の公式 UI からの更新手順
Docker Desktop は Settings → General → Check for updates によるワンクリック更新がデフォルトで提供されています。このセクションでは UI 操作の流れと、更新前に確認すべきポイントをまとめます。
更新フローの概要
- タスクバーの Docker アイコンを右クリックし Settings を選択。
- 左メニューから General ページへ移動し、画面下部の Check for updates ボタンをクリック。
- 利用可能な新バージョンが検出されるとリリースノートが表示されます(例:
v4.30.0)。 - Download and install を選択すると自動的にダウンロードが開始し、インストール完了後に Docker Desktop が再起動します。
注意:企業環境で Windows Update のポリシーやプロキシ設定がある場合は、Settings → Resources → Network で適切なプロキシ情報を入力しておく必要があります(公式ドキュメント参照: Docker Desktop proxy settings)。
PowerShell / winget を利用した自動更新手順
CLI 経由での更新はスクリプト化が可能なため、CI/CD パイプラインや多数マシンを管理する際に有効です。Docker 社が公式に提供しているコマンドは winget(Windows Package Manager)と インストーラ URL の取得・ハッシュ検証 です。
winget による最新バージョンの取得とインストール
|
1 2 3 4 5 6 7 8 9 |
# 1. winget のリポジトリを更新 winget source update # 2. Docker Desktop の最新版情報を確認(例: 4.30.0) winget show docker.dockerdesktop # 3. アップデートが利用可能なら実行 winget upgrade --id docker.dockerdesktop --silent |
winget は Microsoft Store に登録された公式パッケージのみを対象とするため、サードパーティ製の非公式ビルドは取得できません。これにより改ざんリスクが低減します。
手動で EXE/MSI インストーラを取得しハッシュ検証する方法
一部組織では Microsoft Store の自動配布が制限 されているため、直接インストーラをダウンロードして社内配布するケースがあります。公式リリースページ(Docker Desktop releases on GitHub)に掲載された SHA‑256 ハッシュと照合してください。
|
1 2 3 4 5 6 7 8 |
# 例: v4.30.0 の MSI をダウンロード Invoke-WebRequest -Uri "https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.msi" ` -OutFile "$env:TEMP\DockerDesktopInstaller.msi" # SHA‑256 ハッシュを取得し、GitHub のリリースページに記載されたものと比較 $calcHash = Get-FileHash -Path "$env:TEMP\DockerDesktopInstaller.msi" -Algorithm SHA256 Write-Host "Calculated SHA256: $($calcHash.Hash)" |
ベストプラクティス:ハッシュ照合が失敗した場合は必ずダウンロードを中止し、再取得または公式サイトからの取得を試みてください。
MSI インストーラに関する既知問題と公式対応
Docker Desktop の MSI パッケージは Enterprise 向けに提供 されますが、過去リリースで以下のようなアップグレード障害が報告されています。ここでは公式情報を基にした回避策をまとめます。
| バージョン | 問題内容 | 公式参照(GitHub Issue / Release notes) |
|---|---|---|
| 4.28〜4.30 | msiexec 実行時に「既にインストールされているため更新できません」エラーが出る。Docker のサービスが実行中だとアップグレードがブロックされる。 |
Docker Desktop v4.30 release notes – #12403 |
| 4.32 | MSI が Windows Installer の検証 に失敗し、インストールが中断するケースが一部環境で確認された。 | Docker Desktop v4.32 release notes – #12789 |
推奨回避策
- 事前に Docker Desktop を停止
powershell
# UI が開いている場合は自動的に閉じる
Stop-Process -Name "Docker Desktop" -Force -ErrorAction SilentlyContinue
# サービスを停止
Get-Service -Name com.docker.service | Stop-Service -Force
-
設定とイメージのバックアップ(後述「データ保護」セクション参照)
-
MSI のインストールを
REINSTALL=ALLオプションで実行
powershell
msiexec /i DockerDesktopInstaller.msi REINSTALL=ALL REINSTALLMODE=vomus /qn -
上記でも失敗する場合は完全アンインストール後にクリーンインストール
Add‑or‑Remove Programsから「Docker Desktop」を削除。- 残存フォルダー
%APPDATA%\Dockerと%ProgramData%\DockerDesktopを手動で削除。 - 再度 MSI または winget によるインストールを実行。
公式サポートは GitHub Discussions および Docker サポートポータル で同様のケースに対する解決策を提示しています(Docker Support – Known issues)。
アップデート前後のデータ保護と動作確認手順
アップグレード時に イメージ・ボリューム・設定が失われる リスクを最小化するため、以下のバックアップフローと検証チェックリストを実施してください。
バックアップコマンド例(PowerShell)
| 対象 | コマンド | 説明 |
|---|---|---|
| Docker イメージ全体 | docker image save -o C:\backup\all_images.tar $(docker images -q) |
すべてのローカルイメージを単一 tar に保存 |
| コンテナ(停止中) | docker container export -o C:\backup\<container>.tar <container-id> |
個別コンテナのファイルシステムをエクスポート |
| ボリューム | docker run --rm -v <volume>:/data -v C:\backup:/backup alpine tar czf /backup/<volume>.tar.gz /data |
任意ボリュームを圧縮保存 |
| Docker 設定(Docker Desktop の UI 設定) | Copy-Item "$env:APPDATA\Docker" -Destination "C:\backup\DockerConfig" -Recurse -Force |
ユーザ設定・認証情報をバックアップ |
備考:バックアップは必ず社内の安全なストレージ(NAS、クラウド)にコピーし、復元テストも行っておくことが推奨されます。
アップデート後の動作確認チェックリスト
- バージョン情報の取得
powershell
docker version --format 'Client {{.Client.Version}} / Server {{.Server.Version}}' - Docker Desktop のステータス確認(UI → Troubleshoot → Diagnostics でレポート生成も可)
- 既存コンテナの起動テスト
powershell
docker ps -a --filter "status=exited" -q | ForEach-Object { docker start $_ } - サンプルイメージでの実行確認(
hello-world)
powershell
docker run --rm hello-world - ボリュームが正しくマウントされているか(簡易チェック)
powershell
docker volume ls
すべての項目でエラーが出なければ、アップデートは正常に完了したと判断できます。
ロールバック手順と公式サポートへの問い合わせ方法
万が一新バージョンで不具合が発生した場合の 安全なロールバック 手順を示します。Docker Desktop は MSI/EXE の過去リリースが GitHub に保存されているため、特定バージョンへ戻すことが可能です。
ロールバック手順
- 現在の Docker Desktop を停止しアンインストール
powershell
Stop-Process -Name "Docker Desktop" -Force
Get-Service -Name com.docker.service | Stop-Service -Force
winget uninstall --id docker.dockerdesktop - 過去バージョンの MSI を取得(例: v4.28)
powershell
$url = "https://desktop.docker.com/win/stable/49596/Docker%20Desktop%20Installer.msi"
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\DockerDesktop_4.28.msi" - ハッシュ検証(GitHub Release の SHA‑256 と比較)
powershell
Get-FileHash -Path "$env:TEMP\DockerDesktop_4.28.msi" -Algorithm SHA256 - MSI によるクリーンインストール
powershell
msiexec /i "$env:TEMP\DockerDesktop_4.28.msi" /qn - バックアップしたイメージ・ボリュームを復元(上記「バックアップ」セクション参照)
公式サポートへ問い合わせる際のポイント
| 項目 | 推奨情報 |
|---|---|
| 診断レポート取得 | Docker Desktop → Troubleshoot → Get support から docker diagnostics を実行し、zip ファイルを生成 |
| 必要な添付資料 | ログファイル (diagnostics.zip)、エラーメッセージのスクリーンショット、使用中の Windows ビルド番号 |
| 提出先 | Docker Support Portal(Docker Support)または GitHub Issues(公式リポジトリ) |
上記情報を添えて問い合わせると、回答までの時間が短縮されます。
まとめ
- システム要件:Windows 10 22H2/11 (64‑bit) + WSL 2 が必須。CPU 仮想化支援と最低 8 GB メモリを確保してください。
- WSL 2 の有効化は PowerShell スクリプトで自動化でき、再起動後に
wsl -l -vで確認できます。 - 公式 UI 更新は Settings → General → Check for updates が最もシンプルです。企業環境ではプロキシ設定やポリシーを事前にチェックしてください。
- PowerShell / winget による自動化:
winget upgrade --id docker.dockerdesktop --silentでサイレントアップデートが可能です。インストーラを手動取得する場合は GitHub Release の SHA‑256 ハッシュと照合し、改ざんリスクを排除します。 - MSI の既知問題:バージョン 4.28–4.30 系で上書き失敗が報告されています(GitHub Issue #12403)。サービス停止・バックアップ・
REINSTALL=ALLオプションで回避でき、最終手段は完全アンインストール後のクリーンインストールです。 - データ保護と動作確認:イメージ・コンテナ・ボリュームを事前にエクスポートし、アップデート後はバージョン表示・サンプル実行で正常性を検証します。
- ロールバックとサポート:過去 MSI を取得して再インストールすれば安全にダウングレード可能です。診断レポートと環境情報を添えて公式サポートへ問い合わせることで、迅速な問題解決が期待できます。
これらのベストプラクティスに従うことで、Docker Desktop for Windows のアップデート作業を 安全・確実かつ自動化 でき、開発チーム全体の生産性向上につながります。