4.2 從 DockerHub 開始認識映像檔
接下來使用到 DockerHub 的一些功能,並且看看這世界上最大的映像檔儲存庫裡面的官方映像檔。
首先登入之後,應該會到自己的個人頁面,新註冊的帳號不會有任何屬於自己的映像檔,就像下圖一樣 ( 但您的映像檔是空的 )
從上圖可以看到我自己個人的映像檔,以及最右邊有一個 Public 的字樣,就說明這些映像檔是可以被公開下載的。
接著我們在上面的搜尋框中搜尋 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 看看。
官方的映像檔沒有前綴?
不知道透過剛剛的圖片有沒有發現,只要是官方的映像檔都沒有前綴,就只有單純的服務名稱而已!
那這個前綴代表什麼呢?代表的是您的 DockerHub 暱稱,也就是右上角的大頭貼旁邊的名字。
在後面的章節會完全的解析映像檔的全名,其實它比想像的還要冗長,只是在 DockerHub 的幫助下,看起來簡潔有力而已。
學會看官方映像檔的使用說明
以剛剛搜尋完 Redis 的結果,我們點擊進入 Redis 的頁面,可以看到說明中會有 How to use this image 的小節,只要仔細閱讀觀看的話,使用上都沒有什麼太大的問題。
按照我們前三章學過的指令,現在應該可以開始看懂使用說明中的指令了吧?