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は非常に使いやすいのでいつか改善されるといいなぁ。
それでは。