【Windows】WSL2とDockerをインストールするまで

【Windows】WSL2とDockerをインストールするまで

はじめに

今回の記事では、WSL2 上で Docker を動作させるまでの手順を紹介します。

最近 WindowsOS を再インストールする機会があり、メモしていたものを整理して記事にすることにしました。

N 番煎じですがお付き合いください。

Windows Terminal をインストールする

まずは Microsoft Store から Windows Terminal をインストールします。

これは必須ではありませんが、タブから複数のターミナルを開けたり色々と便利なので入れておいて損はないと思います。

windows-terminal

WSL をインストールする

まずは Winows 上に WSL をインストールします。

Windows Terminal を管理者として起動します。

windows-terminal-02

以下のコマンドを実行します。

> wsl --install

wsl-install

インストールに PC の再起動を実施します。

再起動後にターミナル画面が起動して、ユーザー名とパスワードの入力を求められるので任意の値を指定してください。

wsl-install-02

また、スタートメニューよりアプリケーションが追加されていることを確認してください。

wsl-install-04

wsl-install-05

Windows Terminal に Ubuntu のターミナルを追加する

Windows Terminal を起動して、タブから設定を選択します。

wsl-install-06

「新しいプロファイルを追加します」を選択します。

wsl-install-07

メニューより「Ubuntu」を選択して、保存をクリックします。

wsl-install-08

wsl-install-09

プロファイルの名前を「Ubuntu (コピー)」から「Ubuntu」にリネームします。

wsl-install-10

「外観」を選択して「フォント」より「HackGen Console」を選択します。

※フォントは任意のものを選択してください。該当するフォントがインストールされている必要があります。

wsl-install-11

wsl-install-12

一度ターミナルを閉じて再び起動し、タブの「∨」マークをクリックし、「Ubuntu」を選択します。

wsl-install-13

wsl-install-14

WSL2 と Ubuntu をインストールする手順は以上になります。

Docker をインストールする

次に Docker Engine をインストールします。

このブログの中で何度か紹介していますが、その手順と同様になります。

# パッケージリストの更新とインストール済のパッケージをアップグレード
sudo apt update && sudo apt upgrade -y

# 開発に必要なパッケージをインストール
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release

sudo mkdir -p /etc/apt/keyrings
# GPG鍵を追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 安定版のリポジトリを追加
echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# aptのパッケージリストを更新
sudo apt-get update

# Docker Engine, containerd, Docker Compose をインストール
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Dockerのサービスを起動
sudo service docker start
* Starting Docker: docker   [ OK ]

# docker composeがインストールされているか確認
sudo docker compose version
Docker Compose version v2.15.1

# dockerグループが存在しているか確認
getent group docker

# ターミナルを実行中のユーザーをdockerグループに追加する
sudo usermod -aG docker $USER

# グループに追加されていることを確認
groups $USER

# 一度ログアウト
$ exit

# sudo 無しで docker コマンドが実行できるか確認する
$ docker -v

もし、外部ネットワークに繋がらなかっら場合は以下の記事を参考にresolve.confを修正する手順を試してみてください。

GitHub にアクセスできるようにする

次に GitHub のリポジトリへアクセスできるように設定します。

# vimとgitをインストール
$ sudo apt-get install vim git

GitHub のリポジトリへの接続は SSH 接続の設定をしていたため、~/.ssh/configや秘密鍵を移動してきます。

ホームディレクトリ配下に.sshディレクトリを作成しておきます。

$ mkdir ~/.ssh/

WSL2 内のファイルアクセスはネットワーク経由で行います。

wsl-install-15

wsl-install-16

ホームディレクトリの.sshディレクトリを開き、configファイルや秘密鍵を移動します。

移動してきたファイルのパーミッションを確認して、適切なものに変更します。

$ ls -la ~/.ssh
-rw-r--r-- 1 user01 user01  595 Jun 18 16:26 config
-rw-r--r-- 1 user01 user01  419 Oct 27  2022 id_github

$ chmod 600 ~/.ssh/id_github

$ ls -la ~/.ssh
-rw-r--r-- 1 user01 user01  595 Jun 18 16:26 config
-rw------- 1 user01 user01  419 Oct 27  2022 id_github

リポジトリが正しくクローン出来ることを確認してください。

試しに以下のリポジトリをクローンして、Docker コンテナを起動したところ正しく起動しました。

アンインストールする場合

WSL2 をアンインストールする場合は、まずはスタートメニューの以下のアプリケーションを削除します。

wsl-install-05

その後、コントロールパネル → プログラムと機能 → Windows の昨日の有効化または無効化 へ進み「Linux 用 Windows サブシステム」のチェックを外します。

wsl-uninstall

削除後は再起動を求められるので PC を再起動し、WSL2 が削除されていることを確認してください。

作業は以上になります。