想定読者
- Docker Desktop for Windows を使わずに WSL で Docker を使いたい人
この記事の多くは各ツールの公式ページからの引用で構成されています。
ググり力(ぐぐりぢから)のある読者の方は、この記事を参考にするよりもご自身で調べていただくほうがより新しく正確な情報を得られるかもしれません。
この記事で目指すところ
- Windows で WSL を使えるようにする
- Docker Desktop は利用しない
- その他 WSL 以外の一切のツールも Windows 側では設定しない
- WSL で Dokcer コマンドを使えるようにする
- Docker Desktop を先に立ち上げておく...などの事前準備なく、ただ WSL にログインするだけでいつでも Docker コマンドが利用できる状態にする
筆者の環境
- Windows 11 Pro (クリーンインストール直後で、特別な設定などはしていない状態)
- VSCode 1.97.2
手順
以下で特に断りがない限り、各コマンドは PowerShell で実行してください。
WSL に Ubuntu をインストールする
- PowerShell で以下のコマンドを実行し、WSL を有効化します。
wsl --install - ターミナルの表示に従い、コンピューターを再起動します。
- 再起動後に再び PowerShell を起動し、以下のコマンドで WSL2 をデフォルトバージョンに設定します。
wsl --set-default-version 2 - WSL にインストール可能なディストリビューションを検索します。
wsl -l -o - 検索結果の中から好きなディストリビューションを選んでインストールします。ここでは Ubuntu24.02 をインストールします。
wsl --install -d Ubuntu-24.04 - Ubuntu24.04 がインストールされたことを確認します。
wsl -l -v - WSL を起動します。
wsl -d Ubuntu-24.04 - 初回起動時はユーザーの作成を促されます。任意のユーザー名とパスワードを入力してください。
- WSL が起動すると、プロンプトが PowerShell のものとは少し変わります。WSL 起動後のターミナルで以下のコマンドを実行し、Ubuntu24.04 が起動していることを確認します。
cat /etc/os-release
Docker Engine をインストールする
以下の手順は Ubuntu 用の手順です。
Ubuntu 以外のディストリビューションで DockerEngine をインストールする場合、公式ドキュメントを参考にインストールを実施してください。
-
インストールした Linux ディストリビューションを起動します。前段の手順で WSL が既に起動している場合、この手順は不要です。
wsl -
Docker の公式 GPG キーを追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -
Docker リポジトリを追加します。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -
パッケージリストを更新し、Docker Engine をインストールします。
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -
Docker サービスを開始します。
sudo service docker start -
Docker が正しくインストールされたことを確認します。
sudo docker run hello-world
おまけ
Permission Error 対策
VSCode等からDockerコマンド相当の機能を使う際にも役立ちます。
sudo usermod -aG docker $USER
DevContainer用の設定 ※VSCodeユーザー向け
以下を settings.json に記載しておくことで、wslを起動していなくてもリモートエクスプローラーから一発でDevContainerを起動できます。
VSCode側の都合でWindows側へDockerDesktopがインストールされる事故を防ぐことができます
{
"dev.containers.executeInWSL": true
}