前情提要
最近開始學 Docker, 這個神器大概在 C 社時期就有聽過了,
不過一直沒有機會在實務上接觸,雖然有自已摸一點,但就只有皮毛而已,
在 A 社有機會由同事開課,並提供 EC2 作實驗,就趁這個機會作一點深入的學習。
一開始有一個很天真的想法,我想在 Windows 內建的 Linux 子系統 Ubantu 安裝 Docker,
沒想到最後是脫褲子放屁,不過過程蠻有趣的,稍微記錄一下。
操作步驟
Windows 10 安裝 Ubantu
在 Ubantu 安裝 Docker
更新 apt-get
1
sudo apt-get update
允許 apt-get 透過 https
1
2
3
4
5sudo 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
4sudo 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
Run Docker
1 | sudo docker container run hello-world |
我都會失敗如下
1 | docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. |
如何解決
Windows 上要安裝 Docker for Windows
勾選 Docker for Windows → Setting → Expose Daemon on tcp://localhost:2375 Without TLS
回到 Ubantu , 執行以下命令
指定 Docker Host 在路徑
1 | docker -H localhost:2375 images |
如果不想每次指定的話…請參考以下命令
1 | export DOCKER_HOST=localhost:2375 |
學到的事
- Docker 有 Host(Daemon) 與 Client 之分
- 在 Windows 上的 VM(Ubantu) 再安裝 Docker Daemon 是行不通的(細節我並不清楚,求補充…)
- 我還不夠了解 Windows Container 與 Linux Container 的差異
繞了一圈,一事無成
參考
- Installing the Docker client on Windows Subsystem for Linux (Ubuntu)
- Get Docker CE for Ubuntu
- 取得 Ubuntu - Microsoft Store zh-TW
- Docker CE Desktop Windows
- 如何安裝 Docker for Windows ?
- Windows 上的 Linux 容器
(fin)