WSL環境のUbuntuにDockerをインストールしたいと思います。
はじめに
この記事では、
「WSL2(Ubuntu-20.04)にDockerをインストールする方法」
を紹介します。
バージョン情報
Widows10
WSL2(Ubuntu-20.04_LTS)
WSL、Ubuntu-20.04のインストールを行っていない方は以下の記事を参考にしてください。
![](https://i0.wp.com/ya-ya-lifelog.com/wp-content/uploads/2022/12/d3b4edf35ffbd6d98daee1f7d03cad29.png?fit=300%2C171&ssl=1)
Dockerのリポジトリの更新
以下のステップで作業を行い、Dockerインストールのための準備を行います。
以下のコマンドを実行し、パッケージを更新します。
コマンド:「sudo apt update」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/1412b7cdb8f1305946c4d4ca7576d38c-1024x253.png)
以下のコマンドを実行し、パッケージをインストールします。
コマンド:
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/76c691c22c7ef40a64aa64b04f05e90c-1-1024x744.png)
以下のコマンドを実行し、Docker 公式の GPG 公開鍵をインストールします。
コマンド:「curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/82cd89bf6e3e7beeac7a6a7e3c296e8a-1024x133.png)
以下のコマンドを実行して、Keyを確認します。
コマンド:「sudo apt-key fingerprint 0EBFCD88」
「9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88」であることを確認します。
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/5bc9fc4d63d4a0ab3f0efe11bd966220-1-1024x237.png)
以下のコマンドを実行し、repository (stable) を追加します。(x86_64 / amd64 アーキテクチャの場合)
コマンド:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/a88e5b631e0ef8187e3605a9d1a5a789.png)
Dockerのインストール
最新版のDocker をインストールします。
以下のステップで作業を行い、Dockerをインストールします。
以下のコマンドを実行し、パッケージを更新します。
コマンド:「sudo apt update」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/2d2e3ff6face4e798a1d0d6dd774d920-1024x508.png)
Dockerをインストールします。
以下のコマンド実行してインストールを行います。
コマンド:「sudo apt-get install docker-ce docker-ce-cli containerd.io」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/935fa1487c9a157f63f7141b92c39790-1024x796.png)
WSL環境にwsl.confというファイルを作成し、以下を内容を書き込みます。
[boot]
systemd=true
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/3555ecb8c2a4b91742769827bc2b27ef-1024x219.png)
書き込んだらWSL環境を再起動します。
PowerShellにて以下を実行します。
コマンド:「WSL --shutdown」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/ede46a9e165be6fb2ee5c5e3883792ab-1024x202.png)
Docker を再起動します。
以下のコマンドを実行し、Dockerを再起動します。
コマンド:「sudo systemctl restart docker」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/d02e86ec4d1dfdc7e0533f3e5407ed36-1024x151.png)
Docker 再起動時に以下のエラーが発生した場合は、以下のコマンドでWSLの更新を行ってください。
コマンド:「wsl --update」
エラー内容
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Dockerの動作確認
Dockerの動作確認を行います。
まずは、バージョンの確認をしてみましょう。
コマンド:「sudo docker -v」を実行します。
バージョンが「20.10.23」であることがわかります。
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/f1fb298047cd327c13a3640587f384d2-1-1024x168.png)
Hello world サンプルのdocerイメージを取得して実行します。
コマンド:「sudo docker run --rm hello-world」
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/c51688d9925e4882c5f60a6a31f7d638-1024x799.png)
確認できたらサンプルdocerイメージはもう必要ないので削除します。
コマンド:「sudo docker rmi hello-world」
上記のコマンドを実行してDockerイメージを削除します。
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/95f7e841a8a27d65a75a7c6f2d6b170f.png)
以上で、Dockerの動作確認が完了です。
補足
Ubuntuでdockerコマンドを実行する度に、コマンドの前にsudoを付けるのは面倒なので
dockerコマンドをsudoの付与無しに実行できるようにしたいと思います。
コマンド:「sudo gpasswd -a <ユーザID> docker」を実行します。
(<ユーザID>にはUbuntuのユーザIDを設定してください。)
![](https://ya-ya-lifelog.com/wp-content/uploads/2023/01/19fcf1cee824e42b4aff31af8bb99194-1024x185.png)
まとめ
WSL2上のUbuntuにDockerをインストールしました。
また、動作確認としてDockerのバージョンし、Dockerイメージを取得して実行を行いました。
これでDockerが使えるようになったので、
今後Dockerを使ったものを紹介していく予定です。
![](https://i0.wp.com/ya-ya-lifelog.com/wp-content/uploads/2022/12/b0fdbca248b28e2802ec725bfcc6ddcb.png?fit=300%2C171&ssl=1)
![](https://i0.wp.com/ya-ya-lifelog.com/wp-content/uploads/2023/03/ad52814e93e548f0ae257bd5a8f57f16-1.png?fit=300%2C171&ssl=1)
![](http://image.moshimo.com/af-img/2440/000000039861.jpg)