Docker Desktop を入れて動かす — Docker Tips
Windows で Docker を試すなら、まず Docker Desktop です。インストーラーを入れ、docker --version と docker compose version が通り、hello-world が動けば最低限の準備はできた状態です。
参考: Docker Desktop · Install Docker Desktop on Windows · Get started · docker container run
目次
- Docker Desktop とは
- 前提条件
- インストール手順(Windows)
- インストール後の確認コマンド
- hello-world で動作確認
- エンジンが起動しているかの確認
- アンインストールと再インストール
- うまくいかないとき
Docker Desktop とは
Docker Desktop は、コンテナを動かすための エンジン(dockerd)・CLI(docker コマンド)・Compose・GUI 管理画面をひとまとめにしたアプリケーションです。Windows では Hyper-V または WSL2 の上で Linux カーネルを動かし、その中で実際のコンテナが実行されます。
| 構成要素 | 役割 |
|---|---|
| Docker Engine(dockerd) | イメージのビルド・コンテナの実行を行う本体 |
Docker CLI(docker) |
ターミナルから Engine を操作するコマンド |
Docker Compose(docker compose) |
複数コンテナをまとめて起動・停止するツール |
| Dashboard(GUI) | コンテナ・イメージ・ボリュームを画面上で確認 |
WSL2 バックエンドを使うと、Windows 上の Linux ディストリビューション(Ubuntu など)と同じカーネルをコンテナが共有するため、リソース効率と起動速度が Hyper-V バックエンドより良好です。現在のインストーラーは既定で WSL2 バックエンドを選びます。
前提条件
Windows 10/11 の 64bit で、次を満たしていれば十分です。
| 項目 | 要件の目安 |
|---|---|
| OS | Windows 10 64bit(22H2 / Build 19045)または Windows 11 64bit(23H2 / Build 22631 以降) |
| CPU | 仮想化支援機能(Intel VT-x / AMD-V)が有効 |
| メモリ | 8GB 以上(公式のシステム要件) |
| WSL2 | Windows 機能で有効化されていること |
WSL2 が入っていない場合は、PowerShell を 管理者として実行 し、次のコマンドで有効化できます。再起動が必要です。
wsl --installすでに WSL が入っている場合は、バージョンと既定ディストリビューションを確認しておきます。
wsl --statuswsl -l -vBIOS/UEFI で仮想化支援機能が無効になっていると、Docker Desktop 起動時に「Hardware assisted virtualization ... is not enabled」といったエラーになります。タスクマネージャーの「パフォーマンス」タブで「仮想化: 有効」になっているかも簡単な確認手段です。
インストール手順(Windows)
1. インストーラーをダウンロード
公式サイトまたは公式ドキュメントのダウンロードリンクから Docker Desktop Installer.exe を取得します。
2. インストーラーを実行
ダブルクリックで起動し、ウィザードに従います。インストールモードは次の 2 種類です。
| モード | インストール先 | 権限 |
|---|---|---|
| Per-user(個人用) | %LOCALAPPDATA%\Programs\DockerDesktop |
管理者権限不要 |
| All users(全ユーザー) | C:\Program Files\Docker\Docker |
管理者権限が必要(UAC プロンプト) |
学習目的の個人 PC であれば、どちらでも動作に大きな差はありません。「Use WSL 2 instead of Hyper-V」のチェックは既定でオンのままにしておきます。
3. コマンドラインからインストールする場合(任意)
GUI ウィザードを使わず、サイレントインストールしたい場合は次のように実行します。
Start-Process -Wait "Docker Desktop Installer.exe" -ArgumentList "install", "--accept-license"4. 初回起動とサインイン
インストール完了後、Docker Desktop を起動するとライセンス確認や簡単なチュートリアルが表示されます。個人利用の範囲であれば、アカウント作成をスキップしても機能は使えます(一部の機能はサインインが前提になる場合があります)。
タスクトレイのクジラのアイコンが 静止した状態 になれば、Engine が起動完了しています。アイコンが動いている間はまだ起動中です。
インストール後の確認コマンド
PowerShell(または Windows Terminal)を開き、バージョンを確認します。
docker --versiondocker compose versiondocker info期待する結果の例:
Docker version 27.x.x, build xxxxxxxDocker Compose version v2.x.xdocker info は Engine 側の詳細(OS、カーネル、コンテナ数など)を返します。エラーなく多くの行が表示されれば、CLI から Engine に接続できている証拠です。
bash(WSL / Git Bash)でも同じコマンドがそのまま使えます。
docker --versiondocker compose versionhello-world で動作確認
Docker の動作確認用に用意された最小のイメージ hello-world を実行します。
docker run hello-world期待する結果:
Hello from Docker!This message shows that your installation appears to be working correctly....このコマンドの内部では、次の 4 手順が走ります。
- ローカルに
hello-worldイメージが無いか確認 - 無ければ Docker Hub から
docker pull相当でダウンロード - イメージからコンテナを作成
- コンテナ内のプログラムを実行し、メッセージを表示して終了
hello-world コンテナは仕事が終わると即座に停止します。この「実行して終了する」動きは正常 で、docker ps -a で確認すると Exited (0) という状態で残っているのが見えます。
docker ps -adocker rm $(docker ps -aq --filter ancestor=hello-world)2 行目は動作確認用の hello-world コンテナをまとめて削除するコマンドです。学習用に何度も実行すると、停止済みコンテナが積み上がるので、気になったら削除しておくとよいです。
エンジンが起動しているかの確認
Docker CLI のコマンドがすべて失敗する場合、多くは Engine(dockerd)自体が起動していない ことが原因です。Windows では次の点を順に確認します。
| 確認項目 | 確認方法 |
|---|---|
| Docker Desktop が起動しているか | タスクトレイのクジラアイコンの有無 |
| Engine の起動が完了しているか | アイコンが静止している(アニメーション中は起動中) |
| WSL2 ディストリビューションの状態 | wsl -l -v で docker-desktop が Running か |
| CLI からの疎通 | docker version で Client / Server 双方が表示されるか |
wsl -l -vdocker versiondocker-desktop という名前の WSL ディストリビューションが Stopped の場合は、Docker Desktop アプリ自体を起動し直すと解消することが多いです。
補足: Get-Service com.docker.service は Hyper-V バックエンドや Windows コンテナ向けのサービス確認であり、既定の WSL2 バックエンドでは Engine 起動の決定的な指標にはなりません。まず docker version と wsl -l -v を優先します。
アンインストールと再インストール
設定を壊してしまった場合や、クリーンな状態からやり直したい場合はアンインストールしてから再インストールします。
Windows の「アプリと機能」から削除
「設定」→「アプリ」→「インストール済みのアプリ」で Docker Desktop を選び、アンインストールします。
コマンドラインから削除する場合
& "C:\Program Files\Docker\Docker\Docker Desktop Installer.exe" uninstallper-user インストールの場合はパスが %LOCALAPPDATA%\Programs\DockerDesktop 配下になります。
アンインストール後もボリュームや WSL の設定が残っていることがあるため、完全にクリーンにしたい場合は WSL ディストリビューションも確認します。
wsl --list --verbosewsl --unregister docker-desktopwsl --unregister docker-desktop-dataこれらのディストリビューションを削除すると、Docker Desktop 内に作成したイメージ・コンテナ・ボリュームはすべて消えます。学習用の再インストールであれば問題ありませんが、実データがある場合は事前に必要なものをバックアップしてください。
うまくいかないとき
| 症状 | 原因 | 対処 |
|---|---|---|
| インストーラーが「WSL2 is not installed」で止まる | WSL2 が未有効化 | wsl --install を管理者権限で実行し再起動 |
| 起動時に「Docker Desktop - Unexpected WSL error」 | WSL のディストリビューションが壊れている | wsl --unregister docker-desktop 後に Docker Desktop を再起動 |
docker --version が「認識されていません」 |
PATH が通っていない、またはターミナルを開き直していない | 新しいターミナルを開く。反映されなければ再ログイン |
docker run hello-world が Cannot connect to the Docker daemon |
Engine がまだ起動していない | タスクトレイのアイコンが静止するまで待つ |
| 仮想化に関するエラーで起動しない | BIOS で VT-x / AMD-V が無効 | BIOS/UEFI 設定で仮想化支援機能を有効化 |
| 社内 PC で「Hyper-V が無効化されています」 | グループポリシーで機能制限 | 管理者に仮想化機能の許可を確認 |
| ダウンロードが極端に遅い/失敗する | ネットワークプロキシ | プロキシ設定を Docker Desktop の Settings → Resources → Proxies に反映 |
docker compose version が古いまま |
古い単体の docker-compose バイナリが PATH 優先 |
Docker Desktop 付属の docker compose(スペースあり)を使う |
インストール直後に問題が起きた場合は、いったんタスクトレイからアプリを終了し、再起動してから docker info を実行すると状態がわかりやすくなります。