はじめに
こんにちは。株式会社ジールの @yszdh です。
この記事では、Windows上にWSL2とUbuntuをセットアップし、VS CodeからWSL環境へ接続したうえで、Ubuntu側にDocker Engineをインストールする手順を解説します。
Docker Desktopは使わず、WSL2上のLinux環境でDockerを動かしたい人を対象にしています。
この記事でやること
- WSL2について
- WSL2 + Ubuntuをインストールする
- VSCodeにWSL拡張機能をインストールする
- VSCodeからWSL2(Ubuntu)環境に接続する
- Docker EngineをWSL2(Ubuntu)にインストールする
前提条件
- Windows11またはWSL2が利用可能なWindows10
- 管理者権限でPowerShellを実行できること
- VSCodeがインストール済みであること
WSL2とは?
WSL2(Windows Subsystem for Linux 2)Windowsの中で、Linux環境を動かすための仕組みです。
「Windowsの中にLinuxを入れる」というより、「Windowsが軽量な仮想マシンを使ってLinuxを動かしている」イメージです。
出典
Dockerとの関係
Docker Engineは本来Linux向けソフトです。
Linuxのカーネル機能を利用するため、WindowsでLinuxコンテナを扱うにはLinux環境が必要です。
WSL2を使うと、Windows上でLinux環境を軽量に利用できるため、Dockerの学習や開発を進めやすくなります。
全体の流れ
Step 1: WSL2をインストールする
Step 2: Ubuntuのユーザー設定をする(初回のみ)
Step 3: カーネルを更新・確認する
Step 4: VSCodeにWSL拡張機能をインストールする
Step 5: VSCodeからWSL2環境に接続する
Step 6: Docker Engineをインストールする
Step 1: WSL2をインストールする
PowerShellを管理者として開く
Windowsのスタートメニューから、「Windows PowerShell」を右クリックし、「管理者として実行」を選択する
インストールコマンドを実行する
PowerShellにてインストールを実行します。
wsl --install
PCを再起動する
コマンドの実行が終わると「PCを再起動してください」というメッセージが出ます。指示に従って再起動してください。
Step 2: Ubuntuのユーザー設定をする(初回のみ)
再起動後、自動的にUbuntuのターミナルが起動します。
自動で開かない場合は、スタートメニューから「Ubuntu」を探してクリックしてください。
初回起動時に以下の設定を求められます。
Enter new UNIX username: ← 好きなユーザー名を入力(Windowsのユーザー名とは別でOK)
New password: ← パスワードを入力(入力しても画面に表示されないが入力できている)
Retype new password: ← もう一度同じパスワードを入力
設定が完了するとコマンドプロンプトが表示され、Ubuntuが使えるようになります。
Step 3: カーネルを更新・確認する
カーネルを更新する
管理者として実行したPowerShellで以下を実行します。
wsl --update
「更新が正常に完了しました」と表示されれば成功です。
動作を確認する
wsl --status
「WSL2カーネルファイルが見つかりません」という警告が出ていなければ準備完了です。
WSL2として認識されているか確認する
wsl --list --verbose
出力例:
NAME STATE VERSION
* Ubuntu Running 2
VERSIONが2であればWSL2として正しく動いています。
Step 4: VSCodeにWSL拡張機能をインストールする
VSCodeからWSL2のLinux環境に接続するために、WSL拡張機能をインストールします。
インストール手順
- VSCodeを開く
- 左サイドバーの拡張機能アイコン(または
Ctrl+Shift+X)をクリックする - 検索欄に「WSL」と入力する
- 「WSL」(発行者:Microsoft)をクリックして「インストール」を押す
Step 5: VSCodeからWSL2環境に接続する
接続方法
1. VSCodeの左下にある「><」アイコンをクリックする
2. 上部にコマンドパレットが開くので「ディストリビューションを使用してWSLに接続」をクリックする
3. 「Ubuntu」をクリック
4. VSCodeのウィンドウが再起動し、左下の表示が「WSL:Ubuntu」に変わる
この状態になると、VSCodeのターミナルがUbuntu(WSL2)上で動くようになります。
接続できているか確認する
VSCodeのメニュー「ターミナル」→「新しいターミナル」を開き、以下を実行します。
uname -a
出力例:
Linux PC-name 5.15.x-microsoft-standard-WSL2 ... x86_64 GNU/Linux
出力の中に microsoft-standard-WSL2 のような文字列が含まれていれば、WSL2上のLinuxカーネルで動作しています。
Step 6: Docker Engineをインストールする
WSL2(Ubuntu)にDocker Engineを直接インストールすることで、Docker Desktopを使わずにdockerコマンドを利用できるようになります。
下記に公式公開されている手順を参考にしております。
1. 必要パッケージのインストール
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
2. 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
GPGキーとは
APTでは、パッケージが正規の配布元から提供されたものか、また途中で改ざんされていないかを検証するためにGPGキーを利用します。
Docker公式リポジトリのパッケージを安全にインストールするため、このキーを事前に登録します。
3. APTに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
4. Docker Engineをインストール
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. インストール確認
まずは Docker CLI がインストールされたことを確認します。
docker --version
出力例:
Docker version 29.5.0, build 98f1464
6. Dockerデーモンを起動する
sudo service docker start
7. sudo なしで docker を使えるようにする(任意)
この設定はすぐには反映されないため、反映するにはWSLを一度再起動してください。
sudo usermod -aG docker $USER
6. テストコンテナの実行
docker run hello-world
以下のように表示されれば成功です。
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.
(amd64)
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.
WSL2環境から切断する
WSL2との接続を終了するには、再度左下の「WSL:Ubuntu」アイコンをクリックし、「リモート接続を終了する」を選択します。
まとめ
この記事では、以下の流れでDocker学習用のLinux環境を構築しました。
- WSL2のインストール
- Ubuntuの初期設定
- VSCodeからWSL環境への接続
- Ubuntu上へのDocker Engineのインストール
- hello-worldによる動作確認
次のステップとしては、docker ps、docker images、docker compose version などを試すと、Dockerの基本操作に進みやすくなります。
参考
本記事を作成するうえで、以下の資料を参考にさせていただきました。
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください:







