1.3 Dockerインストール完全ガイド|Windows・Mac・Linux 別 セットアップと動作確認

【第1章】Dockerとは何か

Dockerの仕組みを学んだら、次は実際に動かしてみましょう。本記事では Windows・macOS・Linux それぞれの環境に応じたインストール手順を、スクリーンショットではなくコマンドと要点に絞って解説します。

インストール後の動作確認まで含めてこの記事1本で完結します。


目次

  1. どの方法を選ぶか
  2. Windows — Docker Desktop(WSL2バックエンド)
  3. macOS — Docker Desktop
  4. Linux — Docker Engine
  5. インストール後の動作確認
  6. よくあるトラブルと対処法
  7. まとめ

1. どの方法を選ぶか

使うOSと目的に応じてインストール方法が変わります。まず自分のケースを確認してください。

OS 推奨方法 主な用途
Windows Docker Desktop(WSL2バックエンド) 開発・学習。GUIツール付き
macOS Docker Desktop(Intel/Apple Silicon) 開発・学習。GUIツール付き
Linux(Ubuntu/Debian) Docker Engine(aptリポジトリ) 開発・本番サーバー両対応
Linux(Fedora/RHEL/CentOS) Docker Engine(dnfリポジトリ) 開発・本番サーバー両対応
💡 Docker Desktop vs Docker Engine の違い
Docker Desktop はGUI管理ツール・Docker Compose・Dev Containersなどを含むオールインワンパッケージです。Windows/macOS 向けに内部で軽量Linux VMを起動してLinuxカーネルを提供します(1-1参照)。Docker Engine はLinux上でネイティブに動く CLI のみの構成で、サーバー環境に適しています。

2. Windows — Docker Desktop(WSL2バックエンド)

システム要件

項目 要件
OS Windows 10 64-bit:バージョン 21H2(Build 19044)以降 / Windows 11 64-bit
RAM 4GB以上(8GB推奨)
CPU仮想化 BIOS/UEFIでハードウェア仮想化を有効にする必要あり
WSL2 Linux カーネルの更新が必要(後述)

ステップ 1:WSL2 を有効化する

PowerShell を管理者権限で開いて実行します。

# WSL2 と Ubuntu を一括インストール(Windows 11 / Windows 10 2004+)
wsl --install

# インストール後は PC を再起動する
# 再起動後、Ubuntu の初期設定(ユーザー名・パスワード)が求められる

WSL2 がすでに入っているか確認したい場合は次のコマンドで確認できます。

# WSL の状態確認
wsl --status
# → Default Version: 2  ← "2" であれば WSL2 が使える

# インストール済みディストリビューションの確認
wsl --list --verbose

ステップ 2:Docker Desktop をインストール

  1. Docker 公式サイト(Windows版)から Docker Desktop Installer.exe をダウンロード
  2. インストーラーを実行。「Use WSL 2 instead of Hyper-V」にチェックが入っていることを確認
  3. インストール完了後、PC を再起動
  4. タスクバーの Docker アイコンが ✅ 緑になれば起動完了

ステップ 3:WSL2 ディストリビューションとの統合を確認

Docker Desktop → Settings → Resources → WSL Integration から、使用するディストリビューション(Ubuntu など)との統合を有効にします。

# PowerShell または WSL2 ターミナルで確認
docker version
# → Client と Server 両方が表示されれば成功
💡 コマンドはどこで実行するか?
Docker Desktop + WSL2 の環境では、PowerShell・コマンドプロンプト・WSL2ターミナル(Ubuntu等)のいずれでも docker コマンドが使えます。ファイルをコンテナとやり取りする場合は WSL2 ターミナルを使うと Linux のパス規則がそのまま使えて便利です。
⚠️ 仮想化が無効になっているエラーが出る場合
「Hardware assisted virtualization and data execution protection must be enabled」と表示される場合は、PC の BIOS/UEFI 設定で Intel VT-x(インテル製CPU)または AMD-V(AMD製CPU)の仮想化支援機能を有効にしてください。設定方法はPCのメーカーサイトで確認してください。

3. macOS — Docker Desktop

システム要件

項目 要件
macOS バージョン macOS 13 Sonoma 以降(Docker Desktop 4.34+)
RAM 4GB以上(8GB推奨)
CPU Apple Silicon(M1/M2/M3/M4)または Intel
ディスク インストールに約 500MB 以上の空き容量

ステップ 1:自分の Mac の CPU アーキテクチャを確認する

# ターミナルで実行
uname -m
# → arm64    ← Apple Silicon(M1/M2/M3/M4)
# → x86_64  ← Intel Mac

ステップ 2:Docker Desktop をダウンロード・インストール

Docker 公式サイト(Mac版)からアーキテクチャに合った .dmg をダウンロードします。

  • Apple Silicon の場合:「Docker Desktop for Mac with Apple Silicon」
  • Intel の場合:「Docker Desktop for Mac with Intel Chip」
  1. ダウンロードした .dmg を開く
  2. Docker.appApplications フォルダにドラッグ
  3. Docker.app を起動。メニューバーに Docker アイコンが表示されたら起動完了
  4. 初回起動時に macOS からアクセス許可を求められるので許可する
# ターミナルで確認
docker version
docker info | grep "Operating System"
# → Operating System: Docker Desktop
💡 Apple Silicon で Intel イメージを使う場合
M1/M2/M3 Mac(ARM64)では、AMD64向けイメージを Rosetta 2 エミュレーションで実行できます。Docker Desktop が自動で処理するため通常は意識不要ですが、本番環境と CPU アーキテクチャが異なる場合があります。アーキテクチャを明示したい場合は docker pull --platform linux/amd64 イメージ名 と指定します(1-1参照)。

4. Linux — Docker Engine

Linux では Docker Engine を直接インストールします。Docker Desktop は提供されていますが(Linux版は2022年以降提供開始)、サーバー用途・学習用途ともに Docker Engine が標準的です。

⚠️ OS同梱のDockerは使わない
apt install docker.iosnap install docker で入る Docker は古いバージョンであることが多く、Docker Compose Plugin が含まれていないケースもあります。公式リポジトリから最新版をインストールしてください。

Ubuntu / Debian の場合

Docker の公式 apt リポジトリを追加してからインストールします。

# ① 古いバージョンを削除(すでに入っている場合)
sudo apt-get remove docker docker-engine docker.io containerd runc

# ② 必要な依存パッケージをインストール
sudo apt-get update
sudo apt-get install -y ca-certificates curl

# ③ Docker の公式 GPG キーを追加
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

# ④ Docker の apt リポジトリを追加
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

# ⑤ Docker Engine・CLI・Compose Plugin をインストール
sudo apt-get update
sudo apt-get install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin
💡 インストールするパッケージの意味
docker-ce(Docker Engine 本体)、docker-ce-cli(docker コマンド)、containerd.io(コンテナランタイム)、docker-buildx-plugin(マルチアーキテクチャビルド)、docker-compose-plugindocker compose コマンド)。第6章 Docker Compose の記事からはこの全部が必要です。

Fedora / RHEL / CentOS Stream の場合

# ① dnf-plugins-core をインストール
sudo dnf -y install dnf-plugins-core

# ② Docker の公式 dnf リポジトリを追加
sudo dnf config-manager --add-repo \
  https://download.docker.com/linux/fedora/docker-ce.repo

# ③ Docker Engine をインストール
sudo dnf install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

# ④ Docker デーモンを起動
sudo systemctl start docker

ポストインストール設定(Linux 共通)

デフォルトでは docker コマンドに sudo が必要です。次の設定で一般ユーザーからも使えるようになります。

# docker グループに現在のユーザーを追加
sudo usermod -aG docker $USER

# グループの変更をすぐ反映(または再ログイン)
newgrp docker

# 起動時に Docker を自動起動するよう設定
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

# 現在の状態を確認
sudo systemctl status docker
⚠️ docker グループへの追加はセキュリティリスクを伴う
docker グループのメンバーは実質的に root 権限に相当する操作ができます(コンテナを通じたホストへのアクセスが可能)。本番サーバーでは sudo docker を使い続けるか、rootless モードを検討してください(第8章・セキュリティで詳しく解説)。

バージョンを固定してインストールする場合

# 利用できるバージョン一覧を確認(Ubuntu)
apt-cache madison docker-ce | head -10

# 特定バージョンをインストール(例:27.x系の最新)
VERSION_STRING=5:27.3.1-1~ubuntu.22.04~jammy
sudo apt-get install -y docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING

5. インストール後の動作確認

OS に関わらず、インストール後は次の3ステップで正しく動いているかを確認します。

① docker version — クライアントとデーモンのバージョン確認

docker version
Client: Docker Engine - Community
 Version:           27.3.1
 API version:       1.47
 Go version:        go1.22.7
 OS/Arch:           linux/amd64

Server: Docker Engine - Community
 Engine:
  Version:          27.3.1
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.7
  OS/Arch:          linux/amd64
 containerd:
  Version:          1.7.21
 runc:
  Version:          1.1.13

Client と Server 両方が表示されれば成功です。Server が表示されない場合は Docker デーモンが起動していません(Linux: sudo systemctl start docker、Windows/macOS: Docker Desktop を起動)。

② docker info — 環境の詳細情報

docker info

確認すべき主要な項目:

表示される項目 意味 正常な値の目安
Server Version Docker Engine のバージョン 27.x.x など最新版
Storage Driver レイヤー管理に使うファイルシステム overlay2(推奨)
Cgroup Driver cgroups の管理方式 systemd(Linux)または cgroupfs
Operating System Docker が動いている OS Linux / Docker Desktop
Total Memory Docker が使えるメモリ量 ホスト RAM(Desktopは割り当て量)

③ docker run hello-world — コンテナ実行の最終確認

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:1408fec50309afded...
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.
 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.

「Hello from Docker!」が表示されればインストールは完了です。このメッセージは 1-2 で学んだ CLI→dockerd→containerd→runc→コンテナの全フローが正しく動いていることを証明しています。

シミュレータで docker pull を試してみよう

実際のインストール環境でコマンドを試す前に、下のシミュレータで docker pull の動作を確認できます。


6. よくあるトラブルと対処法

症状・エラー 原因 対処法
Cannot connect to the Docker daemon Docker デーモンが起動していない Linux: sudo systemctl start docker / Windows・macOS: Docker Desktop を起動
permission denied while trying to connect to the Docker daemon socket ユーザーが docker グループに属していない sudo usermod -aG docker $USER の後に再ログイン(Linux)
Hardware assisted virtualization must be enabled BIOS/UEFIの仮想化が無効 BIOS/UEFI 設定で Intel VT-x / AMD-V を有効化
WSL 2 requires an update to its kernel component WSL2 Linux カーネルが古い PowerShell で wsl --update を実行
Docker Desktop が起動しない(macOS) macOS バージョン不足 または セキュリティ設定 macOS を Sonoma 以上に更新。セキュリティとプライバシー → 「許可」をクリック
pull access denied プライベートイメージへの認証不足 docker login で認証してから再試行
pull が遅い・失敗する ネットワーク問題 または Docker Hub レート制限 docker login で認証、またはミラーレジストリを daemon.json に設定
# Docker のログを確認する
journalctl -u docker -n 50 --no-pager   # Linux(systemd)
# Docker Desktop: ダッシュボード → Troubleshoot → View Logs

# Docker のバージョンと設定状態を一括確認
docker info 2>&1 | grep -E "Version|Error|Warning|Storage|Cgroup"

7. まとめ

各OS別のインストール方法と確認コマンドをまとめます。

OS インストール方法 確認コマンド 注意点
Windows Docker Desktop Installer.exe(WSL2 有効化後) docker version BIOS仮想化の有効化が必要な場合あり
macOS Docker Desktop .dmg(アーキテクチャを選択) docker version Apple Silicon / Intel で別ファイル
Linux(Ubuntu) apt リポジトリ(公式) docker version docker group 追加が必要
Linux(Fedora) dnf リポジトリ(公式) docker version systemctl start docker が必要

インストール後の3ステップ確認をもう一度おさらいします。

docker version       # 1. Client と Server 両方表示されるか
docker info          # 2. Storage Driver が overlay2 か
docker run hello-world  # 3. Hello from Docker! が表示されるか
✅ 次のステップ
1-4 では最初の実践として docker run hello-world の先に進み、ubuntunginxpython など実用的なイメージを動かしながら、コンテナのライフサイクル(起動→確認→停止→削除)を一通り体験します。docker psdocker logsdocker exec などの基本コマンドも使っていきます。

参考リンク


Dockerの基礎を動画で体系的に学びませんか?

実務で使う基礎だけを3時間に凝縮。環境構築から丁寧に解説しています。

Udemy Docker入門講座 クーポン割引で講座を見る →

コメント

タイトルとURLをコピーしました