由於Docker將限制免費用戶從Docker Hub拉取映像檔的次數,而這可能會影響用戶在Google Cloud Build自動建置和部署的工作,還可能影響從Docker Hub部署構件(Artifact)到Google Kubernetes Engine(GKE)、Cloud Run或App Engine Flex的過程,因此Google提醒用戶,應該提早做出應對,或是升級到付費Docker Hub帳戶。

Docker Hub從11月1日開始,將限制匿名免費用戶的拉取請求數量為每6小時100次,而經身份驗證的用戶,則放寬為每6小時200個拉取請求。新的拉取請求限制生效之後,在許多情況可能影響Google雲端用戶,特別是用戶可能不知道,Google雲端服務需要從Docker Hub拉取映像檔,Google提到,包括Dockerfile出現像是FROM debian:latest這樣的陳述句,或是Kubernetes部署清單擁有image: postgres:latest這樣的句子,都表示服務直接從Docker Hub拉取映像檔。

Google提供了一份指南,協助用戶辨識服務從Docker Hub拉取映像檔的情況,掃描出程式碼庫和工作負載,從Docker Hub等第三方容器註冊表,取得容器映像檔相依項目的地方。Google提到,Docker Hub政策更改,影響最大的會是託管容器服務用戶,與其他託管Kubernetes平臺一樣,在預設情況,Docker Hub會將GKE視為匿名用戶,也就是說,除非用戶在配置中指定Docker Hub憑證,否則叢集將受到新政策限制,每個IP每6小時只能處理100個映像檔請求。

在Google雲端服務中,任何沒有容器註冊表前綴的容器名稱,都是從Docker Hub拉取而來,但由於Container Registry快取了Google雲端最常請求的Docker Hub映像檔,而GKE預設使用該快取,因此大多數GKE工作負載拉取的映像檔,都不會受到Docker Hub的新政策影響,不過,為了避免用戶所使用的映像檔,可能不在快取之中,因此Google建議使用者,將相依項目搬遷到Container Registry中,以便之後從該註冊表拉取映像檔。

不只是GKE可能受Docker Hub新政策影響,其他相依於容器映像檔的服務,像是Cloud Build、Cloud Run和App Engine等,都可能受到影響。Google表示,最簡單的方式,便是升級Docker Hub帳戶,另一個方式便是將所有容器構件,從Docker Hub移至Container Registry,Container Registry會將映像檔儲存為Google Cloud Storage物件,讓用戶能在Google雲端環境管理容器映像檔。


Advertisement

更多 iThome相關內容