【WSL】Docker on Ubuntu on WSL環境を構築したはなし

はじめに

こんにちは、がんがんです。
ついに梅雨が明けまして、とても暑い日が続いております。インターンの選考や学会の準備など日々バタバタとしております。

今回はメインの環境を汚さずにWindows上からDockerを扱いたかったので調べてみました。
調べてみると、Windowsで環境構築は本当に大変なんだなということを改めて実感しました。
今後自分が忘れないためにもインストール手順を残しておきます。

目的

  • Windows でDockerを使いたい
  • メモリは食いたくないのでDocker on Ubuntu on WSLで実行したい
  • [今後]Dockerの使い方を覚えたい

環境

Ubuntuのバージョン確認コマンド

qiita.com

$ cat /etc/os-release

UbuntuにDocker 19.0318.09をインストール

qiita.com

参考記事を参考し、Docker 18.09をインストールしていきます。
(バージョンを確認してみたら19.03でした)

$ sudo apt update && sudo apt upgrade -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 install -y docker-ce
$ sudo usermod -aG docker $USER

参考記事では作成と書いてますが、catコマンドしてみるとスクリプトがありました。

$ cat /etc/init.d/docker
$ sudo chmod 700 /etc/init.d/docker

管理者権限でDockerサービスを起動します。

$ sudo cgroupfs-mount
$ sudo service docker start
 * Starting Docker: docker

バージョンを確認してみると、Docker 19.03がインストールされていました。
実際に動かしてみます。

$ docker run hello-world

まったく動かないです…
なぜだろう??

Ubuntu 18.04 LTSにDocker 18.09をインストールしてみる

先ほど上手く行かなかったのでdocker-ioの方をインストールしてみます。
今度はUbuntu 18.04 LTSをインストールして使います。

$ sudo apt update && sudo apt upgrade -y
$ sudo apt install -y docker.io
$ sudo usermod -aG docker $USER

一度ターミナルを落とし、管理者権限で再度実行します。

$ sudo cgroupfs-mount
$ sudo service docker start

実際にhello-worldを実行してみると…

$ docker run hello-world

やはり動かないです!!なぜだろう?
参考記事では管理者権限からやり直していけば良いようなのですが、なかなかできませんでした。

試しに1つ目にインストールした方を起動してみると…

docker-ioの方は2、3回ほどUbuntuアンインストール→Dockerインストールを繰り返しました。
しかし、全然動かなかったです。


1回目にインストールした方をダメもとでやってみると…
ちゃんとサーバー側のversion情報も出ました!

まとめ

今回はWindows上でDockerを実行する環境を整えました。
簡単にできるかなと思ってましたが、なかなか手こずりまして…

Dockerは環境を汚さずに開発出来ますし、今後のことを考えると覚えていて損はないと思うので時間を見つけて勉強していきます。