跳至主要内容

4.2 從 DockerHub 開始認識映像檔

接下來使用到 DockerHub 的一些功能,並且看看這世界上最大的映像檔儲存庫裡面的官方映像檔。

首先登入之後,應該會到自己的個人頁面,新註冊的帳號不會有任何屬於自己的映像檔,就像下圖一樣 ( 但您的映像檔是空的 )

DockerHub 的個人頁面

從上圖可以看到我自己個人的映像檔,以及最右邊有一個 Public 的字樣,就說明這些映像檔是可以被公開下載的。

接著我們在上面的搜尋框中搜尋 nginx 來看看吧!

搜尋 nginx 後的結果

可以在圖片中看到兩種截然不同的徽章,分別是 DOCKER OFFICIAL IMAGE 以及 VERIFIED PUBLISHER,這邊分別說明一下差別在哪。

DOCKER OFFICIAL IMAGE

官方映像檔放置在 DockerHub 上,其目的是提供基本的作業系統 ( 例如 Ubuntu、CentOS ) 或服務 ( 例如 postgreSQL、 redis 等等 ),希望可以作為大多數使用者的起點。

也為現在流行的程式語言提供類似平台即服務的概念,像是 Ruby、Golang、Node 等等,都有官方認可的映像檔。

同時也是 Dockerfile 的最佳實踐範例,提供非常清晰的說明,讓其他使用者在撰寫 Dockerfile 的時候有一個很好的參考,也確保了安全性以及更新的速度,這非常重要,因為官方映像檔基本上就是 DockerHub 上最受歡迎的映像檔。

而且 Docker 這間公司還專門贊助了一個團隊,負責審查和發佈官方映像檔的所有內容,這個團隊和服務本身的軟體開發者 ( 例如 Ubuntu 的開發團隊 )、安全專家以及開源的社區們共同合作。

雖然還是由服務本身的軟體開發者來維護他們的映像檔最好,但這畢竟沒有什麼實質的約束效力。他們來幫忙維護官方映像檔比較像是一個互助的過程,這些官方的映像檔也都在 GitHub 上面公開,而且鼓勵大家都可以發 PR 或是參與討論。

VERIFIED PUBLISHER

為所有開發者提供官方的驗證,這些映像檔來自可信賴的來源,減少了從不安全的儲存庫中拉取危險映像檔的風險。

基本上只要有這個徽章就是可信賴又安全的映像檔,也可以透過嚴格的安全審查和 DockerHub 官方申請這個徽章。

我該用哪一個?

這個答案很簡單,就是使用官方的映像檔,所有您想得到的服務基本上都有官方映像檔的版本,例如今天需要 Redis 的服務好了,我們就去搜尋 Redis 看看。

搜尋 redis 的結果

官方的映像檔沒有前綴?

不知道透過剛剛的圖片有沒有發現,只要是官方的映像檔都沒有前綴,就只有單純的服務名稱而已!

那這個前綴代表什麼呢?代表的是您的 DockerHub 暱稱,也就是右上角的大頭貼旁邊的名字。

在後面的章節會完全的解析映像檔的全名,其實它比想像的還要冗長,只是在 DockerHub 的幫助下,看起來簡潔有力而已。

學會看官方映像檔的使用說明

以剛剛搜尋完 Redis 的結果,我們點擊進入 Redis 的頁面,可以看到說明中會有 How to use this image 的小節,只要仔細閱讀觀看的話,使用上都沒有什麼太大的問題。

redis Image 的使用說明

按照我們前三章學過的指令,現在應該可以開始看懂使用說明中的指令了吧?