今回は、WSL2のUbuntuにDockerをインストールする方法について解説します。
基本的にはDockerの公式ドキュメントのままに進めることができます。
もくじ
インストール環境
まず、今回Dockerをインストールした環境についてまとめておきます。
os:Windows10 Home Insider Preview Build 18932
WSLバージョン:WSL2
WSLディストリビューション:Ubuntu
インストール方法は、2019年7月7日時点のものになります。
もし本記事記載の方法でうまくいかない場合は、下のリンク先の公式ドキュメントの内容を参照してみてください!
WSL2の環境構築
WSLへのDockerのインストールは、WSL2の環境が前提になります。
もしまだWSL2への移行をしていない方は、先にこちらの記事を参照していただければと思います!
WSL2のインストール方法【WindowsにLinuxを使う!】
WSL2へのDockerインストール
ここからは、WSL2への移行が済んでいる前提とします。
WSL2のUbuntuを起動しておいてください。
ここからは超簡単です!
以下のコマンドをコピペして実行するだけで、DockerとDockerComposeのインストールが完了します!
sudo apt update sudo apt upgrade -y sudo apt install apt-transport-https ca-certificates gnupg-agent software-properties-common curl -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose -y
Dockerの起動
では、正しくインストールされたかどうか確認してみましょう。
次のコマンドを実行してみてください。
sudo docker run hello-world
すると、次のようなエラーがでるかと思います。
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.
こちらのエラー、以前普通のUbuntuにDockerをインストールしたときには出てこなかったものですが、WSLの場合は起こるようです。
原因はシンプルで、Dockerが起動していないというだけでした。
次のコマンドを入力してあげてください。
sudo /etc/init.d/docker start
これでもう一度先ほどのコマンドを実行すると、次のような画面が表示されるはずです。

これでWSL2でのDockerの環境構築が完了しました!
最後に、Dockerのユーザグループにユーザを追加しておきましょう。
Dockerのユーザグループに自分のユーザを追加することで、sudoコマンドを使わなくてもdockerコマンドを使用することができるようになります!
追加は簡単!
以下のコマンドを入力するだけ!
sudo gpasswd -a $USER docker sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "/home/$USER/.docker" -R
追加が完了したら、cat /etc/group | grep dockerで設定が反映されていることを確認しましょう。
まとめ
WSL2の登場をきっかけに、これまでUbuntuを使っていた開発環境をWindowsに変更しました。
新しく登場したWindowsTerminalも快適で、非常に感動してます。 また、新しい機能として、WSL2上で動作するWEBサーバにlocalhostでアクセスしたり、好きなLinuxカーネルを設定することもできるようになりました!
設定方法はこちらにまとめてあります。
WSL2のWEBサーバにlocalhostでアクセスできる新機能を設定する!
最近のWindowsは細部のこだわりが美しいですね。
みなさんもぜひぜひ使ってみてください!