[實作筆記]在 Windows Subsystem for Linux 執行 docker

前情提要

最近開始學 Docker, 這個神器大概在 C 社時期就有聽過了,
不過一直沒有機會在實務上接觸,雖然有自已摸一點,但就只有皮毛而已,
在 A 社有機會由同事開課,並提供 EC2 作實驗,就趁這個機會作一點深入的學習。

一開始有一個很天真的想法,我想在 Windows 內建的 Linux 子系統 Ubantu 安裝 Docker, 沒想到最後是脫褲子放屁,不過過程蠻有趣的,稍微記錄一下。

操作步驟

  1. Windows 10 安裝 Ubantu
  2. 在 Ubantu 安裝 Docker

更新 apt-get

1
$ sudo apt-get update

允許 apt-get 透過 https

1
2
3
4
5
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

加入 Docker 官方 GPG KEY

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

然後可以驗証一下

1
$ sudo apt-key fingerprint 0EBFCD88

加入 Docker 的 apt-repository

1
2
3
4
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

再次更新 apt-get

1
$ sudo apt-get update

安裝 Docker CE

1
$ sudo apt-get install docker-ce
  1. Run Docker
1
$ sudo docker container run hello-world

我都會失敗如下

1
2
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

如何解決 ?

  1. Windows 上要安裝 Docker for Windows

  2. 勾選 Docker for Windows → Setting → Expose deamon on tcp://localhost:2375 Without TLS

  3. 回到 Ubantu , 執行以下命令

指定 Docker Host 在路徑

1
$ docker -H localhost:2375 images

如果不想每次指定的話…請參考以下命令

1
$ export DOCKER_HOST=localhost:2375

執行結果

學到的事

參考

(fin)