リンダの日記

長考する人のブログ。

WSLでdockerの最新安定版(2018/11/5現在)が動かないのでハマった。

トリです。

windows10(非Pro)でのローカル開発環境としてWSL(Ubuntu16.04)にdockerを入れようとしたら見事にはまったのでその軌跡を記録。最終的には解決しました

1.公式サイトの手順に沿ってインストール

Get Docker CE for Ubuntu(公式サイト)

公式サイトにある手順のうち、王道っぽいレポジトリを使った方法でインストールして以下のコマンドでちゃんと入ったか確認。

$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:18 2018
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

デーモンが起動してないみたいなので起動させる。

$ sudo service docker start
[ ok ] Starting Docker: docker.
$ sudo service docker status
[FAIL] Docker is not running ... failed!

なんじゃこりゃ。成功メッセージは出るが実際は動いていない模様。

2.迷走

まず始めに以下の記事が目につき、Intel Virtualization TechnologyがOnの場合dockerが起動できないことがあると書いてあったのでOFFにしたがまだ治らず・・・

WSLのdocker daemon自動起動させるhttps://qiita.com/forest1/items/ab6d8b345653c614229b

勘違いしてUbuntu18.04じゃなくて16.04でやってみたりしたがそういう問題ではなく時間を浪費。

※余談だがMicrosoft Storeには

  • Ubuntu
  • Ubuntu18.04 LTS
  • Ubuntu16.04 LTS

の三つのUbuntuがあり、そのうちバージョンがついてないものは18.04 LTSの模様。

そうこうして色々ググっていると以下の記事にありつく。

3.解決

どうしてもDocker on Ubuntu 18.04 on WSL したかった https://qiita.com/guchio/items/3eb0818df44fdbab3d14

結局、Docker 17.09.1 からの追加されたマウント時の処理の一部をWSLがサポートしていないためdocker最新版は現状wsl上では動かないそう。 記事の手順に沿ってパッケージからdocker17.09.0をインストールしたら無事hello world出来ました!やったね!

色々落とし穴があることを除けばWSLは非常に使いやすいのでいつか改善されるといいなぁ。

それでは。