windows10

docker install on Windows Subsystem for Linux

$ sudo apt update
$ sudo apt upgrade -y

$ sudo apt install -y docker.io

 

ここまできたらコントロールグループをマウントする必要があるようなので以下のコマンドを

$ sudo cgroupfs-mount

dockerのグループを追加します。

$ sudo usermod -aG docker $USER

dockerスタート

$ sudo service docker start

* Starting Docker: docker [ OK ]

バージョンを確認

$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.1
Git commit: e68fc7a
Built: Fri Jan 25 14:33:51 2019
OS/Arch: linux/amd64

相変わらず下のエラーがでるのでWSLを再起動します

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

再起動後hello-world試して動けばOK!と思ったら

$ docker run –rm hello-world

docker: failed to register layer: Error processing tar file(exit status 1): invalid argument.

やはりまだWSLがMS_SLAVEをサポートしていないということで

dockerの17.09.0 以下のバージョンで動かすしかないようです。

一旦先程のdockerをアンインストールします。

$ sudo apt-get purge docker.io

手動でダウンロードとインストールします。

$ curl -O https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.09.0~ce-0~debian_amd64.deb

$ sudo dpkg -i docker-ce_17.09.0~ce-0~debian_amd64.deb
Selecting previously unselected package docker-ce.
$ docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:42:09 2017
OS/Arch: linux/amd64
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

今回は使いませんが、お試しでdocker-composeのインストール

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose version
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.7
OpenSSL version: OpenSSL 1.1.0f 25 May 2017
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list

 

$ sudo apt-get update

$ sudo apt-get install nvidia-docker2

インストール自体はできるのですが、いくつかのパッケージがインストールされていないと。。。

調べてみるとこのバージョンではdocker-ceのバージョンが18.09.2である必要が。

ということで現時点ではまだMS_SLAVEの問題でどうも動きそうにないってところで今回はタイムアップ!

また時期を見て挑戦したいと思います。

そもそもCUDA toolkitが現状Ubuntuの16.4か17.4にしか対応していないので

WSLで入れるUbuntuを16.04にした方がいいかもしれませんね(今更ながらに)。。。