10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows Subsystem for LinuxでDockerを動かす

Posted at

WSL上でのDocker動作については既に多くの記事がありますが、2018年9月30日時点で改めて動作検証やコミュニティへの投稿をチェックして、情報を整理しました。

動作検証環境

  • Windows 10 Pro (April 2018 Update)
  • Ubuntu 18.04 (Windows Subsystem for Linux)

まとめ

  • 最新版 のdocker-ce(公式パッケージ)は動作しないため、17.09を利用する必要がある。
  • docker-composeはWSL上でiptablesが完全にサポートされていないため動作しない。

Dockerインストール・起動方法

  • Ubuntu 18.04 を起動して、以下のコマンドを実行する。
# WSLの標準コンソールでは貼り付けが上手くできないため、一度ファイルに出力する。
cat <<EOF > ./install-docker.sh
#!/bin/bash
# 古いパッケージをアンインストールする。
apt-get remove -y docker docker-engine docker.io
apt-get update
# docker-ceの依存パッケージをインストールする。
apt install libltdl7 -y
curl -O https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.09.0~ce-0~debian_amd64.deb
dpkg -i docker-ce_17.09.0\~ce-0\~debian_amd64.deb
# sudoなしでdockerを実行できるようにする。
usermod -aG docker $USER
EOF

sudo sh ./install-docker.sh
  • 一度Ubuntuアプリケーション(ウィンドウ)を閉じる。
  • Ubuntuアプリケーションを管理者として実行してDockerサービスを起動する。(サービス起動時にはUbuntuアプリケーションをWindows管理者権限で実行する必要がある。)
sudo service docker start
  • Dockerサービスが正常に動作しているか確認する。
docker run hello-world

docker composeの動作検証

  • Ubuntu 18.04 を起動して、以下のコマンドを実行する。
# 最新の安定版をダウンロード
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > ./docker-compose
chmod u+x ./docker-compose
# テスト用のdocker-componse.yamlを作成する
cat <<EOF > ./docker-componse.yaml
version: '2'

services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: redis
EOF
# doCker-composeを実行する
./docker-compose up
  • 現時点ではiptablesでこけてエラーとなる。
ERROR: Failed to Setup IP tables: Unable to enable NAT rule:  (iptables failed: iptables --wait -t nat -I POSTROUTING -s 172.18.0.0/16 ! -o br-8838cdb48d77 -j MASQUERADE: iptables: Invalid argument. Run `dmesg' for more information.

参考

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?