Docker Desktop セットアップ手順書:Windowsでコンテナ環境を構築する

開発環境

Docker Desktop セットアップ手順書:Windowsでコンテナ環境を構築する

Dockerは、アプリケーションをコンテナと呼ばれる単位で隔離して実行するためのプラットフォームです。コンテナを使うと、Webサーバ、データベース、開発環境などを、ホストPCを汚さずに簡単に構築・破棄できます。

Windows 11では、WSL2(Windows Subsystem for Linux)とDockerを組み合わせることで、Linuxと同じ環境をWindows上でシームレスに動作させられます。一度設定してしまえば、Apache、nginx、MySQL、PostgreSQL、PHP、Pythonなど、様々なサーバをコマンド一つで起動できるようになります。

この手順書では、Docker Desktopの概要とWindows 11(WSL2バックエンド)へのインストール手順、基本的なDockerコマンドとYAMLファイルの説明までを行います。

1. Dockerの概要

Dockerは以下のような特徴を持つコンテナ型の仮想化技術です。

  • アプリケーションとその実行環境を一つのコンテナにまとめて配布・実行できる。
  • ホストOS上に独立した隔離環境を作成する。仮想マシンと異なり、OSごと起動する必要がないため起動が速く、リソース消費も少ない。
  • Docker Hubから公開されているイメージ(MySQL、nginx、Ubuntuなど)をそのまま利用できる。
  • インフラ構成をコードで管理できる(Infrastructure as Code)。

製造現場では、XAMPPの代わりにDockerでWeb開発環境を構築する、設備データの収集システムをコンテナ化して容易にデプロイする、機械学習の実行環境をチーム内で統一する、といった用途で活用できます。

2. WSL2について

WSL2は、Windows上でLinuxカーネルを実行するためのサブシステムです。Docker Desktop for Windowsは、このWSL2をバックエンドとして利用することで、Windows上でLinuxコンテナをネイティブに動作させます。

WSL2を使う利点は以下の通りです。

  • 仮想マシンと違い、起動が一瞬で完了する。
  • WindowsとLinuxのファイルシステムを相互にアクセスできる。
  • メモリ使用量が動的に調整される。
  • Docker DesktopがWSL2を自動的に認識して設定する。

Windows 11ではWSL2のインストールが特に簡単になっており、PowerShellのコマンド一つで完了します。

3. インストール方法

3.1. 動作環境

  • OS : Windows 11(64bit)※Windows 10でも可能
  • CPU : 64bit対応プロセッサ(仮想化支援機能が必要)
  • メモリ : 8GB以上(推奨16GB以上)
  • BIOSで仮想化(Intel VT-x / AMD-V)が有効になっていること

3.2. WSL2のインストール

Docker Desktopをインストールする前に、WSL2を有効にします。

1. スタートメニューを右クリックし、「ターミナル(管理者)」または「PowerShell(管理者)」を選択する。

2. 以下のコマンドを実行する。

wsl --install

3. インストールが完了したら、以下のコマンドでWSL2がデフォルトバージョンになっていることを確認する。

wsl --status

「Default Version: 2」と表示されれば正常です。「Default Version: 1」の場合は以下のコマンドを実行します。

wsl --set-default-version 2

4. インストールされたLinuxディストリビューション(通常はUbuntu)を起動し、ユーザ名とパスワードを設定する。

3.3. Docker Desktopのダウンロードとインストール

1. ブラウザで https://www.docker.com/products/docker-desktop/ にアクセスする。

2. 「Download for Windows」ボタンをクリックする(ダウンロードにはDocker Hubのアカウントは不要)。

3. インストーラ(Docker Desktop Installer.exe、約500MB)がダウンロードされる。

4. ダウンロードした .exe ファイルをダブルクリックして起動する。

5. インストール設定画面で「Use WSL 2 instead of Hyper-V」にチェックが入っていることを確認する(推奨)。

6. 「Install」をクリックする。インストールが完了すると自動的にDocker Desktopが起動する。

7. 初回起動時、利用規約への同意を求められるので「Accept」をクリックする。

8. 起動後、画面右下のタスクトレイにDockerのクジラアイコンが表示されれば正常に動作している。

3.4. 動作確認

PowerShellまたはターミナルを開き、以下のコマンドを実行します。

docker --version

バージョン情報が表示されればインストール成功です。以下のように表示されます。

Docker version 27.x.x, build xxxxx

次に、テスト用のコンテナを実行してみます。

docker run hello-world

「Hello from Docker!」と表示されれば、Dockerは正常に動作しています。

4. Docker ComposeとYAMLファイルについて

Docker Composeは、複数のコンテナを一度に定義・起動するためのツールです。例えば、Webサーバとデータベースを同時に立ち上げるような構成を、一つのYAMLファイルに記述します。

4.1. YAMLファイルとは

YAML(YAML Ain't Markup Language)は、人間が読み書きしやすい形式でデータを構造化して記述するためのファイル形式です。Pythonのようにインデント(字下げ)を使って階層構造を表現するのが最大の特徴で、波括弧{}やタグが不要なため、設定ファイルとして非常に直感的に書けます。

Docker Compose以外にも、CI/CDパイプライン(GitHub Actions、GitLab CI)、Kubernetesのマニフェストファイル、Ansibleのプレイブック、Home Assistantの設定など、現代のDevOps/インフラ構成管理の現場で広く使われています。YAMLを理解しておけば、これらのツールをスムーズに扱えるようになります。

YAMLの基本ルールは以下の通りです。

  • インデントにはタブではなくスペースを使用する(スペース2つが一般的)。
  • キーと値は「キー: 値」の形式で記述する(コロンの後にスペースが必要)。
  • リスト(配列)はハイフン「- 」で表現する。
  • コメントは「#」で記述できる。

4.2. docker-compose.yml の例

以下の内容を docker-compose.yml というファイル名で保存し、同じディレクトリで docker compose up -d を実行すると、Apache + PHP + MySQL の環境が一発で起動します。

version: '3'
services:
  web:
    image: php:8.2-apache
    ports:
      - "8080:80"
    volumes:
      - ./www:/var/www/html
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: myapp
    ports:
      - "3306:3306"

4.3. YAMLファイルの書き方(基本)

項目 説明
services 起動するコンテナの定義。一つまたは複数記述できる
image 使用するDockerイメージの名前(Docker Hubから自動ダウンロード)
ports ホスト側とコンテナ側のポートマッピング
volumes ファイルの共有設定。ホストのフォルダをコンテナ内にマウントする
environment コンテナ内で使用する環境変数

4.4. 主なDockerコマンド

コマンド 用途
`docker ps` 実行中のコンテナ一覧を表示
`docker images` ダウンロード済みのイメージ一覧を表示
`docker pull イメージ名` Docker Hubからイメージをダウンロード
`docker run イメージ名` イメージからコンテナを作成して起動
`docker stop コンテナID` 実行中のコンテナを停止
`docker rm コンテナID` 停止したコンテナを削除
`docker compose up -d` docker-compose.yml の定義に従いコンテナを一括起動
`docker compose down` 起動中のコンテナ群を一括停止・削除
`docker compose logs` コンテナ群のログを表示

5. Docker Desktopの使い方

Docker Desktopを起動すると、GUIでコンテナの状態を確認できます。

  • 左メニューの「Containers」で実行中のコンテナ一覧を表示。
  • 各コンテナのログ、ターミナル、ファイルブラウザをGUIから操作可能。
  • 「Images」でダウンロード済みのイメージを管理。
  • 右上の検索バーからDocker Hubのイメージを検索できる。

コマンド操作が苦手な場合でも、Docker DesktopのGUIである程度の操作は可能です。

6. 出典

  • Docker公式サイト: https://www.docker.com/
  • Docker Desktopダウンロード: https://www.docker.com/products/docker-desktop/
  • Docker Docs(Windowsインストール): https://docs.docker.com/desktop/install/windows-install/
  • Docker Composeドキュメント: https://docs.docker.com/compose/
  • WSL2公式ドキュメント: https://learn.microsoft.com/ja-jp/windows/wsl/

コメント

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