Docker Image 用那個版本?

Docker Image 用那個版本?

首先要到 Docker Hub 挑選一下 images。 Docker 的原理我就不說了,很多文章也有介紹。Docker Image 就是安裝在伺服器上的 software/service,在 docker hub 會見到很多版本的 image,好像 Node 有 jessie/apline/onbuild/slim 等字眼就是在說明是什麼版本,當然最簡單可以用 docker pull node 去拉 image 下來,這樣多半會安裝最新版。

多看幾個都發現多數 image 也有叫 apline 的版本,Apline 到底是什麼?

其實 Apline 是一個只有 5MB 大小的 Linux

Apline Linux有什麼用?

其實大多 image 都需要 base on linux 核心,所以 image 內也需要有 linux 才能運作。我下載幾個不同版本的 Node 試試看。

Screen-Shot-2018-06-12-at-6.09.53-PM

latest 版有 674MB
slim 版有 183MB
apline 版只有 68.4MB

Apline 版足足比 latest 少 600 MB 容量。
而且 Node 的功能還是一樣的,更細少的 image 令速度更快,需要的資源更少。想像一下我要建立 100 個 container 的時候,就會有 60GB 的差距,不容忽視。

另外同樣的 image 在下載時是不會重複的,我看下了 apline 版,再下 latest 版的 Node,當中會發現其中一個 image layer Already exists,重複的部份就是 Node 的本體了(應該)。

Screen-Shot-2018-06-12-at-6.23.02-PM

所以很多 source 也會推薦使用 apline 版本的 image 了。