【2026年版】WSL2にDocker Engineをインストールする最短手順(Docker Desktop不要)

Windows上で最も軽量かつ、本番環境(VPSなど)に近い形でDockerを利用するためのガイドです。Docker Desktopを使わず、WSL2内のUbuntuに直接Docker Engineを導入することで、リソース消費を抑え、より高度なカスタマイズを可能にします。(WSLでsystemdを入れるのは以前は大変でしたが、WSL2では簡単になりました)

0. 前提条件:WSL2とUbuntuの準備

本ガイドは、WindowsにWSL2とUbuntuがインストールされていることを前提としています。

まだの方(最短手順): 管理者権限のPowerShellで以下を実行し、PCを再起動してください。

wsl --install
wsl --update
# 例: Ubuntu の最新版をインストール
wsl --install -d ubuntu

※ メモリ割り当て(.wslconfig)や、Dドライブへの移動など、より詳細な最適化設定については、こちらの【WSL2リファレンス】Ubuntuの最短構築・詳細設定・リソース制限まとめを参照してください。

1. Ubuntuパッケージの更新

まず、Ubuntuのターミナルを起動し、パッケージリストを最新の状態に更新します。

sudo apt update && sudo apt upgrade -y

2. Docker公式リポジトリの追加

最新のDocker Engineを安全に取得するため、公式のリポジトリを登録します。

# 必要な依存パッケージの導入
sudo apt install -y ca-certificates curl gnupg

# 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

# リポジトリの登録
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 update

ubuntu のターミナルで実行

Docker公式のUbuntuへのインストールページに、上記とほぼ同様のセットアップコードがあります。

Docker公式

Docker公式

Docker Engine → install → linux → ubuntu install

docs.docker.com

3. Docker Engineのインストール

Docker本体と、プロジェクト管理に必須となる docker-compose-plugin をインストールします。

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

4. WSL2特有の設定(systemd・権限)

“3.Docker Engineのインストール”まではlinuxネイティブでの操作と同じですが、WSLではsystemdがデフォルトでOFFになっているので、これを有効に設定しておきます。

WSL2でDockerを「サーバー」として快適に動かすための重要な設定です。

systemdの有効化

WSL2の起動時にDockerサービスを自動開始させます。

sudo nano /etc/wsl.conf

以下の内容を追記して保存(Ctrl+O -> Enter -> Ctrl+X)します。

[boot]
systemd=true

ユーザー権限の追加

sudo なしでDockerコマンドを使えるようにします。

sudo usermod -aG docker $USER
なぜ systemd を有効にするのか?

一言でいうと、「OS(Ubuntu)に、裏方仕事を自動でこなす『管理人』を雇うため」です。

通常のWSL2は開いたときだけ動く「作業場」のような作りですが、サーバー運用にはそれだけでは不十分です。

  • 「毎回起動」の手間をゼロに 無効だと再起動のたびに手動コマンドが必要ですが、有効ならPC起動と同時にDockerを自動で立ち上げてくれます。
  • 「落ちたら直す」自己修復 万が一エラーでプログラムが止まっても、管理人が検知して即座に再起動。24時間安定して動かすための必須機能です。
  • 本番環境(VPS)への近道 さくらのVPSなど本物のサーバーではこれが標準です。systemdを有効にしておけば、そのまま移行することができる。

以前はWSLでsystemdを動かすのは大変でしたが、現在はwsl.conf一行で解決します。これによって、まるで本物のサーバーを扱っているような感覚でDockerを運用できるようになりました。


5. 設定の反映と動作確認

設定を反映させるため、一度WSL2を完全に終了させます。WindowsのPowerShellで以下を実行してください。

wsl --shutdown

再度Ubuntuを起動し、動作確認を行います。

# サービスの状態確認
systemctl status docker

# テストコンテナの実行
docker run hello-world

【重要】パフォーマンスに関する注意点

WSL2でDockerを扱う際、Windows側のフォルダ(/mnt/c/など)をマウントすると動作が極端に遅くなります。プロジェクトファイルやデータベースの保存先は、必ずUbuntu側のディレクトリ(/home/ユーザー名/以下)に配置してください。


次のステップ

これで、あらゆるDockerイメージを動かせる最強の土台が整いました。

この環境を使って、実際にセルフホストツールやゲームサーバーを構築・運用する手順については、以下の実践編ガイドへ進んでください。

関連記事

ここまで読んでいただきありがとうございます。

では、次の記事で。 lumenHero