hidao’s blog

IT系とか読書ログとか。

Docker Desktop なしの WSL2 で docker を動かす

Windows10 の WLS2 の構築と、WSL2 上に Docker Desktop を使わずに docker 環境を構築する手順を記載します。

環境

  • Windows10 Home version 21H1, os build 19043.1165
  • WSL2
  • ubuntu 20.04 LTS
  • docker 20.10.8, build 3967b7d

WSL2の構築

PowerShell を管理者権限で起動して、以下のコマンドを実行します。

  1. Windowsの「Linux実行オプション」を有効化
  2. Windowsの「仮想プラットフォームオプション」を有効化
  3. WSL2を既定のバージョンに設定
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

5. Linxのセットアップ

LinxのディストリビューションMicrosoft StoreからUbuntu 20.04 LTSを選択します。

インストール完了後、アカウントパスワードを設定し、セットアップ完了です。

Dockerの構築

Ubuntuを実行し、開いたターミナルでdockerをインストールします。

1.必要モジュールのインストール

sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

2. docker 公式リポジトリから docker をインストール

docker 公式の GPG キー取得し、apt のキーに設定ののち、 docker の公式 URL を apt リポジトリーに追加し、最適化します。そして docker のインストールを行います。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose

3. docker の開始

PCを再起動するたびに必要です。

sudo /etc/init.d/docker start

4. ユーザグループdockerにログインユーザを追加

docker の実行にsudoが不要になります。

sudo usermod -aG docker ${USER}

5. docker の動作確認

ログインユーザをユーザグループdockerに追加済みならsudoは不要です。

docker run hello-world

謝辞

@asahi13様の記事「WSL2でdockerの環境構築」を参考にさせていただきました。(と言うかほとんどそのまま) ありがとうございます!