Windows WSL2でDocker環境を構築
はじめに
- Windowsに簡単にUbuntu環境を構築してDockerを構築したい!という思いから作業をしたので、以下にその手順をまとめます。
- Docker for Windowsではダメなの?という件に関して、Docker For Windowsで問題のない環境であればそちらが手軽です。
- ですが、Docker For Windowsは私の環境では重く、ちょっと使いづらかったので、構築しました。
- Dockerを何に使うの?という点については、私の場合、別記事にする予定ですがPlantUML ServerとMermaidの環境構築に利用しています。
- VS CodeでPlantUML with WSL2 まさに記事にしようと思っていたことがまんま書いてあったので、こちらをどうぞ
- Mermaidで描いた図形を画像ファイルに出力し、キレイに拡大表示してみた Mermaidはこちら。
- 単純にオフラインになっても、VS CodeでMarkdown仕様書を作成するために、PlantUMLやMarmeidを画像やPDFなどに変換できる環境を整えたかったため
以下手順です
1. Windows PowerShellで以下2行を実行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2. ここで再起動
3. 以下からWSLインストーラーをダウンロードしてインストール
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
4. WSL 2を規定のバージョンとして設定する
以下、Windows PowerShellで以下を実行
wsl --set-default-version 2
5. Ubuntuをインストール
wsl --install -d Ubuntu
6. Ubuntuのインストール画面で、nameを聞かれる
- Windowsのログインユーザ名にしました
7. パスワードを聞かれる
- 新たにつけるパスワードにしてください
8. wslのデフォルトを変更
wsl --list --verbose
で確認し、Ubuntuの左に「*」がなかったら、
wsl --set-default Ubuntu
を実行する
9. ターミナルを開き
sudo apt update | sudo apt upgrade -y
sudo apt list --upgradable
sudo apt update | sudo apt upgrade -y
sudo apt autoremove
を実行する
同じことを繰り返しているのは、リスト更新後、何か更新が増えていたらインストールするため。
10. docker のためのパッケージをインストール
sudo apt install curl -y | sudo apt install apt-transport-https -y
11. dockerをインストール
a)GPG鍵の交換
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
b)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
c)docker-engineをインストール
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
d)docker composeをインストール
sudo apt install docker-compose -y
12. dockerデーモン起動
sudo service docker start
13. ユーザの追加
sudo gpasswd -a {ユーザ名} docker
例)sudo gpasswd -a tanoue docker
以上でDockerの構築は完了です。