由於Docker平臺上,超過6個月無人存取的映像檔容量高達10 PB,因此官方決定開始實施新的政策,將移除免費帳戶中,長時間無人使用的映像檔之外,而且為了解決匿名帳戶映像檔拉取過於浮濫的問題,也將限制免費使用者拉取映像檔的次數。

Docker經內部分析發現,在Docker Hub上的15 PB映像檔中,有超過10 PB映像檔6個月以上未被存取,而且經官方進一步的調查,發現其中的4.5 PB無效映像檔來自免費帳戶,這些映像檔僅被短暫的使用過,包括了來自結合Docker Hub持續整合工作管線的映像檔,使用者通常會遺忘過程產生的映像檔。

因此官方決定實施新的映像檔保留政策,平臺將會開始自動刪除免費由帳戶託管,6個月內沒有使用的映像檔,官方也會提供新的使用者介面和API,讓用戶更簡單地管理映像檔。新的映像檔留存政策將會從11月1日開始實行,系統僅會刪除免費帳戶託管的映像檔,付費帳戶、由官方驗證的發布者以及官方發布的映像檔則不在此限。

另外,官方也將限制免費帳戶拉取容器映像檔的次數,匿名的免費用戶每6小時拉取次數限制為100次,而經驗證的免費用戶,每6小時的拉取次數限制則為200次,付費使用者則不在此限。官方提到,他們分析從Docker Hub下載的映像檔發現,絕大多數用戶都以正常工作流程,需要的頻率拉取映像檔,但是少數匿名的免費使用者則過度使用,有30%的拉取請求來自1%的匿名用戶。

為此,官方同樣會在11月1日應用新的拉取政策,而這些映像檔拉取限制,是依據開發人員合理使用情境,包括學習使用Docker、程式碼開發以及映像檔建置等任務訂定,因此大多數用戶不受新限制政策影響。而官方提到,要限制Docker註冊表的拉取非常複雜,映像檔拉取綜合了清單(Manifest)和Blob API的請求,而這些請求執行的模式,依不同的客戶端和映像檔而有所不同。

簡言之,映像檔的拉取,可能經歷1到2次的清單請求,以及0到無限多Blob層的請求,雖然Blob與頻寬使用最相關聯,但除了難以追蹤之外,對使用者來說也不直覺,因此最終官方決定根據清單請求來限制拉取次數,對用戶來說更好理解,缺點是當用戶拉取已經有的映像檔,即便不下載任何Blob層,也會計入下載次數中。

熱門新聞

Advertisement