目次

Docker のインストール入門:Windows・macOS・Linux で Docker を始める

Docker のインストール方法は、OS によって異なります。

OSインストールするもの説明
WindowsDocker DesktopWSL 2 で Linux 環境をバックグラウンド実行し、その中で Docker Engine を動かします
macOSDocker Desktop軽量な Linux 仮想マシンが組み込まれています
LinuxDocker Engine仮想マシンは不要で、そのままインストールできます。Docker Desktop for Linux を選ぶこともできます

Docker Desktop は、個人、教育目的、非商用のオープンソースプロジェクト、および小規模企業(従業員 250 人未満かつ年間売上 1,000 万ドル未満)であれば無料です。それより大きな企業には有料サブスクリプションが必要です。Linux の Docker Engine はオープンソースソフトウェアであり、この制限の対象外です。

Windows

1. システム要件を確認する

  • Windows 10 22H2(ビルド 19045)または Windows 11 23H2(ビルド 22631)以降、64 ビット
  • メモリ 8 GB 以上
  • CPU が仮想化に対応し、BIOS / UEFI で有効になっていること

Win + R を押して winver と入力すると、Windows のバージョンとビルド番号を確認できます。

2. 仮想化が有効になっていることを確認する

「タスク マネージャー」→「パフォーマンス」→「CPU」を開き、右下の Virtualization(仮想化) が Enabled(有効) と表示されていることを確認します。

タスク マネージャーに仮想化が有効と表示されている
タスク マネージャー → パフォーマンス → CPU:Virtualization が Enabled と表示されています。画像出典:Docker 公式ドキュメント(Apache-2.0)

「無効」と表示される場合は、再起動して BIOS / UEFI の設定画面を開き、Intel VT-x または AMD-V(SVM) を有効にしてください(項目名はマザーボードのメーカーによって異なります)。

3. WSL 2 をインストールまたは更新する

管理者として PowerShell を開き、次を実行します。

wsl --install

すでに WSL をインストールしている場合は、最新版に更新します。

wsl --update
wsl --version

wsl --version に表示される WSL バージョンが 2.1.5 以上である必要があります。インストール後、指示に従って再起動してください。

「コントロール パネル → プログラムと機能 → Windows の機能の有効化または無効化」でも、次の 2 項目にチェックが入っていることを確認できます。

Windows の機能で仮想マシン プラットフォームと Linux 用 Windows サブシステムが選択されている
「Virtual Machine Platform(仮想マシン プラットフォーム)」と「Windows Subsystem for Linux(Linux 用 Windows サブシステム)」の両方にチェックを入れます。画像出典:Docker 公式ドキュメント(Apache-2.0)

4. Docker Desktop をインストールする

  1. Docker の公式サイトから Docker Desktop for Windows をダウンロードします(通常の PC では x86_64 / AMD64、Surface など ARM 搭載 PC では ARM64 を選択します)。
  2. Docker Desktop Installer.exe を実行します。
  3. 設定画面で Use WSL 2 instead of Hyper-V(recommended) にチェックを入れたままにします。
  4. インストールが完了したら Close を押し、指示に応じてサインアウトまたは再起動します。

5. 初回起動

  1. スタートメニューから Docker Desktop を起動します。
  2. サービス利用規約を読み、同意します。
  3. Docker アカウントにサインインすることも、スキップすることもできます(Skip)。サインインしなくても、このチュートリアルの操作に影響はありません。
  4. 左下に Engine が実行中(緑色)と表示されたら完了です。

Docker Desktop の実行中は、PowerShell、コマンド プロンプト、WSL のターミナルから直接 docker コマンドを使えます。続けて下のインストールが成功したことを確認するに進んでください。

macOS

1. チップの種類を確認する

左上の Apple メニュー →「この Mac について」をクリックします。

  • 「チップ」に Apple M シリーズと表示される場合 → Apple Silicon 版をダウンロードします
  • 「プロセッサ」に Intel と表示される場合 → Intel chip 版をダウンロードします

システム要件:最新の macOS メジャーバージョン 3 つのいずれかで、メモリが 4 GB 以上あること。

2. インストールする

  1. Docker の公式サイトから対応する Docker.dmg をダウンロードします。
  2. Docker.dmg を開き、Docker アイコンを「アプリケーション」フォルダにドラッグします。
  3. 「アプリケーション」から Docker を起動します。初回起動時に許可を求められたら、「開く」を選択します。
  4. サービス利用規約に同意し、指示に従って Mac のパスワードを入力し、必要なコンポーネントのインストールを許可します。
  5. メニューバーにクジラのアイコンが表示され、Docker Desktop に Engine が実行中と表示されたら完了です。

Apple Silicon では、Rosetta 2 もインストールすることをおすすめします。Intel 版しか提供されていないツールで必要になる場合があります。

softwareupdate --install-rosetta

Linux(Ubuntu)

Linux には Docker Engine を直接インストールします。以下の手順は Ubuntu 26.04 LTS で実行済みです。Ubuntu 24.04 でも同じ手順を使えます(コマンドがシステムのバージョンコードを自動取得します)。

1. 古いパッケージや競合するパッケージを削除する

Ubuntu 標準のパッケージリポジトリには docker.io などのパッケージもありますが、バージョンが古く、公式版と競合します。先に削除してください(インストールされていなくても問題ありません)。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg; done

2. Docker 公式パッケージリポジトリを追加する

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

追加後、sudo apt-get update を実行します。出力に download.docker.com のパッケージリポジトリが表示されます(抜粋。resolute は Ubuntu 26.04 のバージョンコードで、24.04 では noble と表示されます)。

$ sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu resolute InRelease [32.5 kB]
Get:2 https://download.docker.com/linux/ubuntu resolute/stable amd64 Packages [33.2 kB]

3. Docker Engine をインストールする

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
パッケージ内容
docker-ceDocker Engine(dockerd)
docker-ce-clidocker コマンドラインツール
containerd.ioコンテナの基盤となるランタイム
docker-buildx-plugindocker buildx/BuildKit ビルドツール
docker-compose-plugindocker compose

以下はインストール時の出力(抜粋)と、インストール後のバージョンです。

$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Need to get 128 MB of archives.
After this operation, 511 MB of additional disk space will be used.
Setting up docker-buildx-plugin (0.38.0-1~ubuntu.26.04~resolute) ...
Setting up containerd.io (2.4.1-2~ubuntu.26.04~resolute) ...
Setting up docker-compose-plugin (5.6.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-cli (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce (5:29.9.0-1~ubuntu.26.04~resolute) ...
Setting up docker-ce-rootless-extras (5:29.9.0-1~ubuntu.26.04~resolute) ...

$ docker --version
Docker version 29.9.0, build f415da8
$ docker compose version
Docker Compose version v5.6.0
$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
$ containerd --version
containerd containerd v2.4.1 f2551031d7276a770f65f98c9b52e57e7dad07e8

インストールが完了すると Docker サービスが自動的に起動し、システム起動時にも自動で起動するよう設定されます。systemctl で確認できます。

sudo systemctl status docker

状態が active (running) と表示されれば、実行中です。

4. 一般ユーザーでも docker を実行できるようにする

インストール直後は root だけが Docker を使えます。一般ユーザーが docker コマンドを実行すると、権限エラーが表示されます。

$ docker ps
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock

自分を docker グループに追加します。

sudo usermod -aG docker $USER

ログアウトしてから再ログイン(または newgrp docker を実行)すると反映されます。

docker グループに追加すると root 権限を持つのと同等になります(システム全体をマウントするコンテナを作成できます)。信頼できるアカウントだけを追加してください。

インストールが成功したことを確認する

どの OS でも、ターミナルを開き(Windows では PowerShell を使います)、次を実行します。

$ docker version
Client:
 Version:           29.9.0
 API version:       1.56
 Go version:        go1.26.9
 Git commit:        f415da8
 Built:             Thu Oct  8 20:36:58 2026
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.9.0
  API version:      1.56 (minimum version 1.40)
  Go version:       go1.26.9
  Git commit:       a5b58c9
  Built:            Thu Oct  8 20:39:33 2026
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.4.1
  GitCommit:
 runc:
  Version:          1.5.2
  GitCommit:        v1.5.2-0-g29dd3dc
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Client と Server の両方が表示されていることが重要です(Windows と macOS では Client に windows/amd64 または darwin/arm64 と表示されます。Server は常に linux です。Docker Engine は Docker Desktop の Linux 環境内で動作するためです)。

  • Client:入力した docker コマンドラインツール
  • Server:バックグラウンドで動作する Docker Engine

Server の箇所にエラーメッセージが表示される場合、Engine が動作していません。下の「よくある問題」を参照してください。

次に、最初のコンテナを実行します。

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
Digest: sha256:5e23090353324d887c48ad5e5c56d294eab81588df9605b07d1afe895f9cc8f8
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

出力から、次の 4 つの処理が行われたことがわかります。CLI が Engine に接続し、Engine が Docker Hub から hello-world イメージをダウンロードして、コンテナを作成・実行し、その出力をターミナルに返しました。

最後に Compose と Buildx を確認します。

$ docker compose version
Docker Compose version v5.6.0

$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5

トラブルシューティング

failed to connect to the docker API

以前の Docker では Cannot connect to the Docker daemon と表示されていましたが、Docker 29 では次のように変わりました。

$ docker ps
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory

Docker Engine が動作していないことを示しています。

  • Windows / macOS:Docker Desktop を起動し、Engine running と表示されるまで待ちます。

  • Linux:サービスを起動し、システム起動時に自動起動するよう設定します。

    sudo systemctl start docker
    sudo systemctl enable docker

permission denied while trying to connect to the docker API

Linux の権限に関する問題です(上記の手順 4 に実際のエラーメッセージがあります)。自分を docker グループに追加し、ログアウトしてから再ログインしてください。usermod を実行しただけでは、再ログインするまでグループ設定は反映されません。

Windows:WSL 2 installation is incomplete

WSL がインストールされていないか、バージョンが古い状態です。管理者として wsl --update を実行し、再起動してから Docker Desktop を起動してください。

Windows:Virtualization support not detected

BIOS / UEFI で仮想化が有効になっていません。上記の「Windows」の手順 2 を参照してください。

まとめ

  • Windows と macOS には Docker Desktop をインストールし、Linux サーバーには Docker Engine をインストールします。
  • Windows では CPU の仮想化を有効にし、WSL 2.1.5 以上を使う必要があります。
  • docker version に Client と Server の両方が表示されれば、Engine は動作しています。
  • Linux の一般ユーザーは docker グループに追加する必要があります。これは root 権限を与えることと同等です。

練習問題

練習 1:docker version を実行して、Docker Engine のバージョンと Server の OS/Arch を確認してください。

ヒント

Server: Docker Engine の箇所にある Version と OS/Arch を確認します。Windows と macOS の Server は常に linux/amd64 または linux/arm64 です。Engine は Docker Desktop の Linux 仮想マシン内で動作するためです。

練習 2:docker run hello-world を実行した後、docker ps -a を実行してください。なぜ終了済みのコンテナが表示されるのでしょうか?

解答

hello-world はメッセージを出力すると終了します。コンテナは停止しますが、削除はされません。--rm を付けて実行すると、終了後に自動削除されます。詳しくはコンテナのライフサイクルを参照してください。

よくある質問

Windows Home に Docker Desktop をインストールできますか?

できます。Docker Desktop は WSL 2 を使用するため、Windows 10 / 11 の Home でも、バージョンとビルドが要件を満たし、CPU の仮想化が有効であればサポートされます。

Linux では Docker Desktop と Docker Engine のどちらをインストールすればよいですか?

サーバーには必ず Docker Engine をインストールしてください。Linux デスクトップではどちらも使えます。このチュートリアルのコマンドはどちらの環境でも使えます。

インストール後に docker を実行すると permission denied と表示されます。

Linux では一般ユーザーを docker グループに追加し、再ログインする必要があります。手順はこの章の「一般ユーザーでも docker を実行できるようにする」を参照してください。

更新日 2026年10月14日