Artifact Registry 會在 mirror.gcr.io
上快取經常存取的公開 Docker Hub 映像檔。您可以將 Docker Daemon 設定為使用快取的公開映像檔 (如果有),或是從 Docker Hub 提取映像檔 (如果沒有快取副本)。
mirror.gcr.io
中的快取圖片如下:
- 儲存在由 Google Cloud管理的存放區。
- 不容易受到 Docker Hub 服務中斷影響。
- 已整合至 Google Cloud 生態系統。
- 與 Docker Hub 保持同步。
設定 Docker Daemon
如要將 Docker Daemon 設定成從 Artifact Registry 快取中提取映像檔,請按照下列步驟操作:
CLI
使用下列其中一種方式設定 Daemon:
如要在啟動時自動設定 Docker Daemon,請在
/etc/docker/daemon.json
中設定下列值{ "registry-mirrors": ["https://mirror.gcr.io"] }
在啟動 Daemon 時,傳入 Artifact Registry 主機名稱:
dockerd --registry-mirror=https://mirror.gcr.io
在
/etc/default/docker
檔案中新增下列程式碼:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
重新啟動 Docker Daemon。
在 Linux 上,執行下列任一指令:
sudo service docker restart
或
sudo service docker stop && sudo service docker start
在 macOS 或 Windows 上執行下列指令:
docker-machine restart
Docker UI
- 開啟 Docker 的 [Preferences] 選單。
- 按一下 [Daemon]。
按一下 [Advanced]。在 JSON 欄位中,新增
registry-mirrors
鍵並設定https://mirror.gcr.io
做為值:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
按一下 [Apply & Restart]。
如要確認快取設定是否正確,請執行以下指令:
docker system info
輸出內容應包含 Registry Mirrors
,如下所示:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 2
Server Version: 17.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
...
Registry Mirrors:
https://mirror.gcr.io
提取快取的圖片
Artifact Registry 會將要求頻率較高的映像檔新增至快取,供日後的要求使用。並定期移除不再受到要求的圖片。
設定 Docker Daemon 以使用 Artifact Registry 快取後,當您使用 docker pull
指令拉取公開 Docker Hub 映像檔時,Docker 會執行下列步驟:
- Docker Daemon 會檢查 Artifact Registry 快取,並擷取映像檔 (如果存在)。如果 Daemon 設定包含其他 Docker 鏡像,Daemon 會依序檢查每個鏡像,以便快取映像檔的副本。
- 如果仍找不到映像檔,Docker Daemon 會從 Docker Hub 的正式存放區擷取映像檔。
提取快取映像檔不會計入 Docker Hub 頻率限制。不過,我們無法保證特定圖片會在一段較長的時間內保留在快取中。設定 Docker Daemon,只在 mirror.gcr.io
上取得快取的映像檔。
如要為未在 mirror.gcr.io
上快取的映像檔,向 Docker Hub 進行驗證,請使用 Artifact Registry 遠端存放區。遠端存放區支援 Docker Hub 的驗證機制。即使您只使用公開映像檔,也建議您驗證 Docker Hub,因為這樣可提高下載速率限制。如要進一步瞭解 Docker Hub 下載頻率限制,請參閱「Docker Hub 頻率限制」。
後續步驟
- 您可以建立 Artifact Registry 遠端存放區,用於快取 Docker Hub 映像檔。
- 您可以建立自己的本機 Docker 鏡像來快取映像檔。詳情請參閱 Docker 說明文件。
- 參閱 Docker Hub 說明文件。