我已經設定了一個 docker 註冊表,並將一個專案推送到hellodocker
其中。在另一台機器上,我已經登入我的註冊表,但是當我嘗試拉取時,我必須使用全名:mydockerregistry.com/hellodocker
。
有沒有辦法配置 docker 以將我的註冊表包含為可以從中下載“未找到”映像的位置?
答案1
我不會推薦它用於此目的,但您可以使用註冊表映像設定來配置 docker 引擎。從dockerd
CLI 來看,這就是--registry-mirror
標誌。或在 /etc/docker/daemon.json 中,可以設定:
{ "registry-mirrors": ["https://mydockerregistry.com"] }
配置 daemon.json 時,您需要在套用變更後重新載入 docker 引擎。在桌面 GUI 中,這是螢幕上的選項。在 Linux 中,您將運行systemctl reload docker
.
這有兩個警告:
首先輪詢註冊表映像,然後在出現任何故障時輪詢上游 docker hub 來尋找映像。如果映像響應一個壞的或舊的映像,docker 引擎會很樂意使用它。
沒有儲存庫前綴的映像來自docker庫,將搜尋映像
mydockerregistry.com/library/hellodocker
而不是mydockerregistry.com/hellodocker
.因此您需要:docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest docker push mydockerregistry.com/library/hellodocker:latest
我有一個關於鏡像和快取的演示文稿,您可能會發現它很有用: