メインコンテンツに移動
Docker

目次

 

はじめに

本記事では、Windows 11のWSL2(Ubuntu 22.04)環境において、Docker Desktopに依存せずにDocker Engineを直接セットアップする方法を解説します。Docker Desktopは非常に便利なツールですが、リソース消費の大きさやライセンスに関する懸念、カスタマイズ性の限界など、いくつかのデメリットも存在します。

Docker Desktopを使わないメリット

メリット

詳細

リソース消費の軽減

Docker Desktopはバックグラウンドで動作するサービスが多く、システムリソースを消費します。直接セットアップすることで、この消費を抑えられます。

ライセンスの制約回避

個人利用や小規模組織以外ではDocker Desktopの利用にライセンス料が発生する場合があります。WSL2上にDocker Engineを直接インストールすることで、この問題を回避できます。

高いカスタマイズ性

Docker Engineのバージョンや設定を細かく制御できるため、より柔軟な開発環境を構築できます。

起動タイミングの最適化

WSL2の起動と連動させることで、必要な時にDockerサービスを起動させることが可能です。

本記事は、WSL2環境がセットアップ済みで、Docker Desktop以外の方法でDockerを利用したい開発者の方々を対象としています。Docker Desktopの代替手段として、より軽量で自由度の高いDocker環境を構築したいとお考えの方は、ぜひ本記事をご参照ください。

セットアップ準備

(1) Ubuntu 22.04 のパッケージリスト更新

WSL2上にUbuntu 22.04 LTSをインストールしたら、まずパッケージリストを最新の状態に更新し、システム全体をアップグレードしておきましょう。これにより、セキュリティの脆弱性への対応や、より安定した環境で作業を進めることができます。

まず、以下のコマンドを実行して、利用可能なパッケージのリストを最新の状態にします。

sudo apt update

次に、アップグレード可能なすべてのパッケージをインストールします。-y オプションを付けることで、確認プロンプトに対して自動的に「はい」と応答させることができます。

sudo apt upgrade -y

これらのコマンドを実行することで、Ubuntu 22.04 環境が最新の状態に保たれ、後続のDocker Engineインストール作業をスムーズに進めるための準備が整います。

(2) Docker Desktop をインストールしている場合

もし Docker Desktop がインストール済みの場合、WSL2 上の Docker Engine と競合する可能性があります。 そのため、以下のいずれかの対応を行ってください。

  • Docker Desktop を終了する(タスクトレイから Quit)

  • Docker Desktop の「WSL integration」を無効化する

  • 競合を完全に避けたい場合はアンインストールする

Docker Engine のインストール (Ubuntu 22.04 上)

このセクションでは、Ubuntu 22.04 環境に Docker Engine を直接インストールする手順を解説します。Docker Desktop を介さずに、WSL2 上で Docker の実行環境を構築しましょう。

まず、Docker の公式リポジトリをシステムに追加します。これにより、常に最新バージョンの Docker をインストールできるようになります。

(1) Docker公式リポジトリの追加

Docker EngineをUbuntu 22.04にインストールするためには、まずDocker公式のAPTリポジトリを追加する必要があります。これにより、常に最新バージョンのDockerをインストールできるようになります。

1. 必要なパッケージのインストール

まず、APTリポジトリ経由でパッケージをHTTPS経由で取得するために必要なパッケージをインストールします。

sudo apt install ca-certificates curl gnupg lsb-release -y

2. Dockerの公式GPGキーの追加

次に、Dockerリポジトリからのパッケージの信頼性を確保するために、公式GPGキーを追加します。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. DockerのAPTリポジトリの設定

最後に、DockerのAPTリポジトリをシステムに追加します。

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

これらの手順により、Docker Engineのインストール準備が整います。

(2) Docker Engine, Docker CLI, Containerd.io のインストール

公式リポジトリの追加とGPGキーの設定が完了したら、いよいよDocker Engine本体、CLI、そしてコンテナランタイムであるcontainerd.ioをインストールします。まず、パッケージリストを最新の状態に更新しましょう。

sudo apt update

次に、以下のコマンドを実行して、Docker Engine、Docker CLI、containerd.io、そしてDocker Composeのプラグインもまとめてインストールします。

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

これにより、Ubuntu 22.04環境にDockerがセットアップされます。

(3) Dockerのインストール確認

Docker Engine、CLI、および関連コンポーネントのインストールが正常に完了したかを確認するために、いくつかのコマンドを実行しましょう。

まず、Docker CLIのバージョンを確認します。以下のコマンドを入力してください。

docker --version

このコマンドで、インストールされたDockerのバージョン情報が表示されれば、CLIが正しくインストールされていることがわかります。

次に、Dockerデーモンの状態やシステム情報などを確認します。以下のコマンドを実行してください。

docker info

docker info コマンドは、Dockerデーモンが稼働しているか、実行中のコンテナ数、イメージ数、ストレージドライバーの種類など、Docker環境に関する詳細な情報を提供します。エラーメッセージが表示されず、これらの情報が一覧表示されれば、Docker Engineが正しくセットアップされ、動作していると判断できます。

コマンド

目的

docker --version

Docker CLIのバージョン確認

docker info

Dockerデーモンの状態とシステム情報確認

これらの確認作業を経て、DockerがWSL2上のUbuntu 22.04環境で利用可能であることを確認できました。

Docker デーモンの自動起動と管理

Docker Engineのインストールが完了したら、Dockerデーモンが正しく動作し、WSL2 のディストリビューション起動時に自動的に起動するように設定しましょう。これにより、手動でデーモンを起動する手間が省け、いつでもDockerコマンドを実行できるようになります。

※WSL の環境によっては systemd が無効になっている場合があります。systemctl を利用する場合は、systemd が有効であることを確認してから作業を進めてください。

まず、Dockerサービスの現在の状態を確認します。以下のコマンドを実行してください。

sudo systemctl status docker

このコマンドで、Dockerサービスが「active (running)」と表示されていれば、正常に起動しています。

次に、システム起動時にDockerデーモンが自動的に起動するように設定します。以下のコマンドを実行してください。

sudo systemctl enable docker

これにより、次回以降のシステム起動時からDockerサービスが自動的に開始されるようになります。

もし、手動でDockerデーモンを起動、停止、または再起動したい場合は、以下のコマンドを使用します。

操作

コマンド

起動

sudo systemctl start docker

停止

sudo systemctl stop docker

再起動

sudo systemctl restart docker

これらのコマンドを状況に応じて使い分けることで、Dockerデーモンを柔軟に管理できます。

Docker コマンドを一般ユーザーで実行できるようにする設定

通常はインストール時に docker グループが自動で作成されますが、存在しない場合のみ、次のコマンドで作成してください。

まず、docker という名前のグループを作成します。

sudo groupadd docker

次に、現在ログインしているユーザーをこの docker グループに追加します。$USER は現在のユーザー名に自動的に置き換わります。

sudo usermod -aG docker $USER

この設定を有効にするには、一度ログアウトして再度ログインし直すか、以下のコマンドを実行して現在のシェルにグループ情報を読み込ませます。

newgrp docker

Docker コマンドの実行確認

これらの設定が完了したら、sudo なしで docker ps などのコマンドが実行できるか確認してください。正常に実行できれば、セットアップは完了です。

docker ps

参考元URL:https://docs.docker.com/engine/install/ubuntu/

ご不明点や不安な点はメールフォームよりご相談ください
環境構築等のご相談はyepまでご相談ください

タグ

記事一覧へ戻る