設定済みWSL上にDockerをインストールして、hello-worldするところまで行います。
docker-compose(複数コンテナの連携)は、WSL上で、iptablesが完全にサポートされていないとのことなので、動作しません。
Dockerは、17.09.1以上だと動作しないため、17.09.0-ceをインストールして動作させています。
WSLを使用可能にする設定と、Ubuntuの導入はこちらに書きました。
動作環境
- Microsoft Windows 10 Enterprise Evaluation ver:1809 build:17763.737
- Ubuntu 18.04.3
- Docker 17.09.0-ce
Ubuntuバージョン確認
ubuntuはWindows管理者権限で実行します。
$ head -n 2 /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
Dockerインストール
# 古いバージョンのdockerは、トラブルの原因になるので、アンインストール
$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get autoremove
$ sudo rm -rf /var/lib/docker # イメージファイル等の格納先、uninstallでは消えないので直接削除
# Docker 17.09.1からWSL未サポートな機能があるため、Docker17.09.0をダウンロード&インストール
$ curl -O https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.09.0~ce-0~debian_amd64.deb
$ sudo apt install libltdl7 -y # 依存pkgもインストール、ないとエラーになります。
$ sudo dpkg -i docker-ce_17.09.0\~ce-0\~debian_amd64.deb
Docker動作確認
# バージョン確認
$ docker -v
Docker version 17.09.0-ce, build afdb6d4
# Doker起動
$ sudo service docker start
$ sudo service docker status
[sudo] password for user:
* Docker is running
# コンテナ起動
$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
・
・
docker.ioのdockerでは動作しなかったり、古いバージョンのUbuntuで試してみたりと、いろいろ回り道しましたが、無事に起動できました。これからいろいろ遊んでみます。
参考URL
WSL上でDockerが動くという噂
どうしても Docker on Ubuntu 18.04 on WSL したかった