Docker

WSL2のUbuntuでDockerの環境構築をする!

今回は、WSL2のUbuntuにDockerをインストールする方法について解説します。
基本的にはDockerの公式ドキュメントのままに進めることができます。

もくじ

  1. インストール環境
  2. WSL2の環境構築
  3. WSL2へのDockerインストール
  4. Dockerの起動
  5. まとめ
  6. 参考

インストール環境

まず、今回Dockerをインストールした環境についてまとめておきます。

os:Windows10 Home Insider Preview Build 18932
WSLバージョン:WSL2
WSLディストリビューション:Ubuntu

インストール方法は、2019年7月7日時点のものになります。
もし本記事記載の方法でうまくいかない場合は、下のリンク先の公式ドキュメントの内容を参照してみてください!

Get Docker CE for Ubuntu

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は細部のこだわりが美しいですね。
みなさんもぜひぜひ使ってみてください!

参考

Get Docker CE for Ubuntu

COMMENT

メールアドレスが公開されることはありません。