はじめに
Docker Desktopの有料化(2022年2月~)に伴い、windowsではDockerの運用に工夫が必要になりました。
Docker Desktopを利用せずにDockerを運用する方法として、windowsにWSL2+Docker環境を構築することが挙げられます。
windows10にWSL2+Docker環境を構築してみたので、本記事では備忘録として構築手順を残しておきます。
環境構築手順
1. WSL2のインストール/セットアップ
自分のPCはwsl --install
がサポートされていなかったため、古いバージョンの手順となります。
windows10の新しいバージョンやWindows11ではもう少し簡単な手順で進められます。
Windows Subsubsystem for Linux を有効化する
管理者権限でPower Shellを開いて、以下コマンドを実行する。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
仮想マシンの機能を有効にする
管理者権限でPower Shellを開いて、以下コマンドを実行する。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Linux カーネル更新プログラム パッケージをダウンロードする
最新のパッケージをダウンロードします。
x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ
WSLの既定のバージョンを 2 に設定する
管理者権限でPower Shellを開いて、以下コマンドを実行する。
wsl --set-default-version 2
2. Ubuntuのインストール/セットアップ
Microsoft Store からUbuntu-20.04 (Linux ディストリビューション)をインストールする
Ubuntu 20.04 を初回起動してユーザー名とパスワードを設定する
設定したパスワードは、sudoコマンドで利用するので必ず控えておいてください
Ubuntu 20.04 をアップデートする
$ sudo apt update
$ sudo apt upgrade -y
Docker導入のために必要なパッケージをインストールする
$ sudo apt install curl -y
$ sudo apt install apt-transport-https -y
3. Docker Engineのインストール
Docker 公式 GPG 鍵を追加
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Docker 安定版のレポジトリを追加
$ 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
レポジトリをアップデートし、Docker Engine をインストール
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io -y
docker-compose もインストール
$ sudo apt install docker-compose -y
Docker デーモンを起動
$ sudo service docker start
環境構築手順としては以上です。
[付録]WSLを利用するにあたっての便利ツール
WSLを利用することになって、Windouws Terminalを使ってみましたが非常に便利でした。
Windows Terminal は Microsoft から 2020 年にリリースされた新しいターミナルソフトになります。
各種コマンドラインツール(コマンドプロンプト、Powershell、WSL等)やシェルをタブ化して操作できます。
Microsoft Store からインストールだけなので、簡単に導入できます。
おわりに
windows10にWSL2+Docker環境を構築する手順をまとめてみました。
WSLは便利なので、いろいろと活用していきたいと思います。
参考