什麼是鏡像加速器?
docker官方提供了內置的鏡像image服務,但是由於大家都懂得原因,國內訪問Docker Hub的速度很不穩定,我們可以通過設置國內的docker鏡像的代理服務,解決這個問題。
鏡像代理的原理是,當用戶的Docker設定了--registry-mirror參數後,用戶的Docker拉取鏡像時,首先去Docker加速器中查找鏡像,若命中則說明該鏡像已經在Docker加速器中緩存,用戶直接從Docker加速器中下載。若沒有命中,則說該鏡像還沒有被緩存,那麼Docker加速器首先會被驅使去Docker Hub中下載該鏡像,並進行緩存,最終讓用戶從Docker加速器中下載該鏡像。
目前國內很多雲服務商都提供了鏡像加速的服務,這裏我們選用阿里雲的DOCKER鏡像加速服務。阿里雲docker鏡像加速器鏈接
登錄阿里雲的鏡像加速服務後,按照教程即可設置
拉取ubuntu鏡像
我們嘗試拉取ubuntu的18.04鏡像測試下加速器,在docker鏡像倉庫中拉取鏡像,可以使用下面的命令
docker pull ubuntu:18.04
其中,unbuntu後面的版本號在docker中是tag,它的獲取我們可以在 https://hub.docker.com/ 中獲取,例如我們需要的18.04版本
https://hub.docker.com/r/library/ubuntu/tags/18.04/
如果ubuntu的後面不加任何版本號,docker會從鏡像倉庫中獲取最新的版本。
運行上面的拉取命令後,會出現下面的運行結果。
其中,我們需要理解的是,docker的鏡像是分層打包的,所以docker的鏡像拉取是分層拉取的,例如上面 pull complete 前面的類似hash值的字符串,它是該層的唯一標識。
好了,拉取完鏡像後,我們看下本地的鏡像倉庫
docker images
本地倉庫已經看到剛纔下載的ubuntu docker鏡像