Docker: Docker のインストールと環境設定

最終更新:2026-08-26

Docker のインストールは想像以上に簡単です — Windows、Mac、Linux のいずれを使用しても、10 分で完全に機能するコンテナ環境を起動できます。

1. 学べること


2. チーム技術リードの実話

(1) 課題:15 人がそれぞれ異なる環境

Charlie のチームは Docker の全面採用を決定したばかりでしたが、新規メンバーの Lisa が尋ねました。「Docker Desktop と Docker Engine のどちらをインストールすべきですか? Mac と Linux でインストール手順は同じですか?」15 人のチームが 4 つの異なる OS(Windows、Mac、Ubuntu、CentOS)を使用しており、インストールプロセスはそれぞれ異なり、環境設定だけで 2 日かかりました。

(2) 決定木アルゴリズムの実装

Charlie はインストール決定木を描きました — 3 OS タイプ × 2 モード — チームを 15 分で稼働させました。

BASH
# セットアップ後に Docker のインストールを検証
docker run hello-world

(3) メリット:統一された摩擦のない環境

チームが統一インストールを完了した後、全員の docker version 出力が一貫したものになり、環境関連の issues は週 5 件から 0 件に減少しました。


3. Docker Desktop vs Docker Engine

インストール前に、2 つのディストリビューションの違いを理解しておいてください。

100%
graph TB
    START["Docker バージョン選択"] --> OS{"OS は?"}
    OS -->|Windows / Mac| DT["Docker Desktop<br/>GUI + VM + CLI"]
    OS -->|Linux サーバー| DE["Docker Engine<br/>純粋な CLI サービス"]
    DT --> DEV["✅ 推奨:開発環境"]
    DE --> PROD["✅ 推奨:本番環境"]

(1) 2 つのディストリビューションの比較

観点 Docker Desktop Docker Engine
含まれるコンポーネント CLI + デーモン + GUI + VM CLI + デーモン(純粋なバックグラウンドサービス)
対応プラットフォーム Windows / Mac / Linux Linux のみ
リソース使用量 高い(2〜4 GB、VM を含む) 低い(ホストカーネルで直接実行)
GUI 管理 ✅ ダッシュボードあり ❌ コマンドラインのみ
ユースケース 開発者の個人コンピュータ サーバー/CI 環境
価格 個人は無料、企業は有料 完全無料(CE 版)

(2) インストール決定プロセス

要件 推奨バージョン
Windows / Mac 開発 Docker Desktop
Linux デスクトップ開発 Docker Desktop(GUI 必要)または Engine
Linux サーバー本番 Docker Engine
CI/CD ビルドノード Docker Engine
💡 ヒント: Linux 用の Docker Desktop もありますが、ほとんどの Linux 開発者は Docker Engine を直接使用することを好みます — より軽量で追加の仮想化レイヤーが不要だからです。


4. 各プラットフォームのインストール手順

(1) Windows インストール

前提条件:

インストール手順:

手順 アクション
1 Docker Desktop for Windows をダウンロード(docker.com/products/docker-desktop)
2 インストーラーをダブルクリックし、「Use WSL 2 instead of Hyper-V」にチェックが入っていることを確認
3 インストール後にコンピュータを再起動
4 Docker Desktop を起動し、ステータスが「Running」になるまで待つ
5 ターミナルを開いて検証: docker version

(2) Mac インストール

手順 アクション
1 Docker Desktop for Mac をダウンロード(Intel チップは「amd64」、Apple Silicon は「arm64」を選択)
2 Docker.app を Applications フォルダにドラッグ
3 Docker.app を起動し、メニューバーのクジラアイコンが安定するまで待つ
4 ターミナル検証: docker version

(3) Linux インストール(Ubuntu/Debian)

BASH
# 1. パッケージインデックスを更新
sudo apt-get update

# 2. 前提条件をインストール
sudo apt-get install -y ca-certificates curl gnupg

# 3. Docker の公式 GPG キーを追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 4. Docker リポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. Docker Engine をインストール
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. Docker を起動
sudo systemctl start docker
sudo systemctl enable docker

# 7. 検証
sudo docker run hello-world

5. 非 root ユーザーの設定

デフォルトでは、Linux では root ユーザーと docker グループのメンバーのみが Docker を実行できます。

▶ サンプル:現在のユーザーを docker グループに追加 (難易度: ⭐)

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

# グループ変更を適用(またはログアウトして再度ログイン)
newgrp docker

# 検証:sudo なしで docker を実行
docker run hello-world
⚠️ 注意: docker グループのメンバーであることは root 権限を持つことと同等です(コンテナはホスト上の任意のディレクトリをマウントできるため)。本番環境では、docker グループのメンバーシップを厳密に管理してください。


6. ミラーアクセラレータの設定

中国国内から Docker Hub にアクセスすると遅い場合がありますが、イメージアクセラレータを設定すると取得速度が大幅に向上します。

(1) 人気のミラーアクセラレータ

アクセラレータ アドレス 説明
Alibaba Cloud https://<your-id>.mirror.aliyuncs.com ログインしてユニークなリンクを取得
USTC https://docker.mirrors.ustc.edu.cn 無料、登録不要
NetEase https://hub-mirror.c.163.com 無料
Docker 公式 https://registry.docker.io デフォルト、海外からの高速アクセス

▶ サンプル:Linux でミラーアクセラレータを設定 (難易度: ⭐⭐)

BASH
# Docker デーモン設定を作成または編集
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
EOF

# Docker を再起動して変更を適用
sudo systemctl daemon-reload
sudo systemctl restart docker

# 設定を検証
docker info | grep -A 5 "Registry Mirrors"
💻 出力:

TEXT 📖 参照専用
Registry Mirrors:
  https://docker.mirrors.ustc.edu.cn/
  https://hub-mirror.c.163.com/

▶ サンプル:Docker Desktop イメージアクセラレータを設定 (難易度: ⭐)

Docker Desktop GUI で設定するには: Settings → Docker Engine → JSON に registry-mirrors 配列を追加 → Apply & Restart。

または設定ファイルを直接編集(Mac: ~/.docker/daemon.json、Windows: C:\Users\<user>\.docker\daemon.json)。


7. Docker Context 管理

Docker Context を使用すると、ローカルの Docker インスタンスやリモートサーバーなど、複数の Docker ホスト間をすばやく切り替えることができます。

▶ サンプル:Docker Context の一覧と切り替え (難易度: ⭐⭐)

BASH
# すべての Docker Context を一覧表示
docker context ls
💻 出力:

TEXT 📖 参照専用
NAME                TYPE                DESCRIPTION
default *           moby                Current DOCKER_HOST based configuration
remote-server       moby                Remote Docker on 10.0.1.100
BASH
# リモート Docker ホスト用の新しい Context を作成
docker context create remote-server --docker "host=ssh://user@10.0.1.100"

# リモート Context に切り替え
docker context use remote-server

# 検証:これですべての docker コマンドがリモートサーバーで実行される
docker ps

# ローカルに戻る
docker context use default

▶ サンプル:インストールの成功を検証 (難易度: ⭐)

BASH
# 完全な検証チェックリスト
docker version          # クライアント + サーバーのバージョン
docker info             # システム全体の情報
docker run hello-world  # エンドツーエンドテスト

8. 一般的なインストール問題のトラブルシューティング

問題 原因 解決策
Cannot connect to the Docker daemon Docker サービスが起動していない sudo systemctl start docker
permission denied while trying to connect ユーザーが docker グループに属していない sudo usermod -aG docker $USER
WSL2 installation is incomplete (Windows) WSL2 が正しくインストールされていない wsl --install その後再起動
docker: command not found Docker が PATH に含まれていない 再インストールまたは PATH に手動追加
ミラーの取得タイムアウト ネットワークの問題 ミラーアクセラレータを設定

9. 完全な例:Ubuntu サーバーにゼロから Docker 環境を設定

BASH
# ============================================
# 完全なチュートリアル:Ubuntu に Docker をインストール
# 範囲:インストール、sudo なし、ミラー、検証
# ============================================

# 1. Docker Engine をインストール
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 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
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 2. Docker サービスを開始し自動起動を有効化
sudo systemctl start docker
sudo systemctl enable docker

# 3. 現在のユーザーを docker グループに追加(sudo 不要)
sudo usermod -aG docker $USER
newgrp docker

# 4. 取得を高速化するためにレジストリミラーを設定
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 5. 検証:Nginx を起動してアクセス
docker run -d -p 8080:80 --name test-nginx nginx:latest
curl http://localhost:8080

# 6. クリーンアップ
docker stop test-nginx
docker rm test-nginx
💻 出力(抜粋):

TEXT 📖 参照専用
# docker run -d -p 8080:80 --name test-nginx nginx:latest
a1b2c3d4e5f6...

# curl http://localhost:8080
<!DOCTYPE html>
<html><head><title>Welcome to nginx!</title>...

❓ よくある質問

Q Docker Desktop は無料ですか?
A 個人利用と中小企業(<250 名、年間収益 <1,000 万ドル)は無料です。大企業は Docker Business サブスクリプションを購入する必要があります(月額 24 ドル/ユーザーから)。Docker Engine(Linux 版)は常に無料でオープンソースです。
Q なぜ Linux では Engine が Desktop より推奨されるのですか?
A Docker Engine は追加の仮想化レイヤーなしでホストカーネル上で直接実行されるため、リソース消費が少なくパフォーマンスが優れています。Desktop は Linux 上で GUI を提供するために仮想マシンを実行する必要があり、これにより追加のオーバーヘッドが発生します。サーバー環境では GUI は不要なので、Engine が最適な選択です。
Q ミラーアクセラレータは安全ですか?
A 主要なアクセラレータ(Alibaba Cloud、USTC、NetEase)はすべて信頼できる CDN プロキシであり、公式イメージを変更せずにキャッシュするだけです。ただし、これらのアクセラレータは pull 操作の高速化のみを行います。push 操作は引き続き元の Docker Hub パスを使用します。内部的には、プライベートレジストリをセットアップすることをお勧めします。
Q Docker が正常にインストールされたことを検証するには?
A 3 ステップの検証: ① docker version Client と Server のセクション両方の情報が表示されるはず; ② docker info 出力が正常に表示されるはず; ③ docker run hello-world 「Hello from Docker!」が表示されるはず。3 ステップすべてが通れば、インストールは完了です。
Q WSL2 と Hyper-V のどちらを選択すべきですか?
A まず WSL2 を選択してください — 起動が高速で、メモリ使用がより動的で、Windows との統合が優れています。WSL2 が利用できない場合(古い Windows 10 など)にのみ Hyper-V を使用してください。Docker Desktop はデフォルトで WSL2 モードを推奨しています。
Q インストール後に Docker はどれくらいのディスクスペースを占有しますか?
A Docker Engine は約 300 MB、Docker Desktop(VM を含む)は約 2〜4 GB を占有します。イメージの取得とコンテナの作成に伴い、使用量は増え続けます。docker system df で使用量を確認し、docker system prune でクリーンアップできます。

📖 まとめ


📝 練習問題

  1. 基本問題 (難易度: ⭐): ローカルマシンに Docker をインストールし、docker run hello-world を実行して、出力のスクリーンショットを撮って保存してください。
  2. 応用練習 (難易度: ⭐⭐): 国内のミラーアクセラレータを設定し、docker info | grep -A 5 "Registry Mirrors" を実行して設定が機能していることを確認してください。
  3. チャレンジ (難易度: ⭐⭐⭐): docker run -d -p 8080:80 nginx を実行して Nginx を起動し、ブラウザで http://localhost:8080 にアクセスしてページが正しく表示されることを確認し、docker stopdocker rm を使用してコンテナをクリーンアップしてください。
前のレッスン: Docker とは何か? 次のレッスン: 初めてのコンテナを実行する
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%