Help us understand the problem. What is going on with this article?

WSL (Ubuntu 18. 04) にDockerを入れる

More than 1 year has passed since last update.

tl;dr

  • Windows Subsystem for Linux (以後 WSL) にDockerを入れようとしたらめちゃめちゃ詰まった
  • 本来WSL上でDockerを使用するなら Ubuntu 16.04 を使用するべきらしい
  • WSLが最新のDockerには対応していない模様。
  • インストールが完了しても Is the docker daemon running? と永遠に怒られた

環境

  • Windows 10 Pro
  • Windows Subsystem for Linux (Ubuntu 18.04)

インストール手順

まずはパッケージ関連を更新しておく

$ sudo apt-get update

HTTPS経由でrepositoryをやりとり出来るようにするためのパッケージをインストール

$ sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Dockerの公式GPG keyを追加する

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
    | sudo apt-key add -

repository( stable ) を追加する

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   bionic \
   stable"

再度 apt パッケージのアップデート

$ sudo apt-get update

docker-ce(17.09.0)のdebファイルをダウンロードします

$ wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb

Dockerのインストール

$ sudo dpkg -i docker-ce_17.09.0~ce-0~ubuntu_amd64.deb

Userの設定。ログインユーザをdocker group に所属させることにより、dockerコマンドを sudo 無しで実行を出来るように

$ sudo cgroupfs-mount
$ sudo usermod -aG docker $USER

Dockerを立ち上げる

ターミナルソフトを管理者権限で動作させないと正常に動きません
↑で大いに時間を消費しました。

当方は管理者権限で動作させていなかった為、 start しても下記出力に悩まされました。
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

systemctl は WSLでは動作しないため、serviceコマンドで開始します。

$ sudo service docker start

正常に開始されたことを確認します

$ sudo service docker status
* Docker is running

hello-world コンテナを建ててみる

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
.
.
.
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

正常に動きました。

おまけ

DockerのProxy周りの環境変数は下記フォルダに書くとよい

/etc/default/docker
export http_proxy='http://your.proxy.com:yourPort'
export https_proxy='${http_proxy}'

まとめ

  • WSLはDockerの最新版に対応してないのでバージョン指定して導入する
  • 管理者でターミナルソフトを立ち上げないと正常に動かない
参考

https://qiita.com/sugimount/items/b6277ca4a97b4a05ac11

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした