Open4

WSL2 (Ubuntu 22.04.2) で Docker セットアップ

okazuokazu

前置き

Docker を使用したことがなかったのでそろそろ触りたい。
ふとそう思ったので WSL2 (Ubuntu 22.04.2) 環境に Docker を導入する手順をメモしておきます。

okazuokazu

バージョン確認

WSL のバージョン

% wsl.exe -l -v

  NAME      STATE           VERSION
* Ubuntu    Running         2

Distribution の確認

% lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy
okazuokazu

Docker Engine のインストール

以下手順は Docker 公式ページに記載されているものです。

既存パッケージの削除

今回は、初回インストールなので一応程度の実行ですが、2回目以降は競合パッケージをアンインストールする必要があるので注意です。

% for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

リポジトリのセットアップ

HTTPS 経由でリポジトリを使用できるようにします。

% sudo apt-get update
% sudo apt-get install 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

Docker Engine のインストール

最新バージョンをインストールします。

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

インストールできたかバージョン確認します。

% docker -v

Docker version 24.0.4, build 3713ee1
okazuokazu

docker コマンドを sudo なしで実行できるようにする

作業手順とセキュリティーリスクについては下記の通り

docker グループを作成してユーザーを追加する

docker グループを作成します。(既に作成されているみたいです)

% sudo groupadd docker

groupadd: group 'docker' already exists

ユーザーを docker グループに追加します。

% sudo usermod -aG docker $USER

追加できたか確認します。

% groups $(whoami)

<USER> : (省略) docker

実際に sudo なしで docker コマンドが実行できるかテストする

% docker container run hello-world