我一直在閱讀很多關於如何設置和使用我自己的私人碼頭註冊表的教程。爲什麼標籤顯示與註冊表的主機名緊密耦合?
難倒我的一件事是,我用標記圖像的標籤似乎與註冊表的主機名緊密耦合。
docker tag <imageid> registry.mycompany.com:5000/myrepo:tag
docker push registry.mycompany.com:5000/myrepo:tag
這看起來確實是違反直覺的。如果註冊表必須移動到不同的主機名,會發生什麼情況?或者如果我使用不同的主機名,無論我是否在內部/外部訪問服務器?
什麼似乎更直觀我推/拉時,將指定註冊表:
docker tag <imageid> myrepo:tag
docker push myrepo:tag --registry=registry.mycompany.com
docker pull myrepo:tag --registry=registry.mycompnay.com
,這是什麼道理呢?我錯過了哪些關鍵信息?
我不關注 - URL *是*名稱的一部分。如果它被更改/刪除,您(可能)指的是不同的圖像。 –
@AdrianMouat該名稱的一部分用於「docker push」來知道它需要聯繫哪個服務器。第二部分不應該改變(雖然':latest'總是有點危險,可能不會引用從一臺服務器到另一臺服務器的相同映像)。如果您的註冊服務器存儲在環境變量中,則可以在另一個服務器'$ {registryname}/myrepo:tag'上輕鬆地重複使用相同的表達式。 – VonC
'docker標籤ubuntu $ {registryname}/ubuntu'不起作用。 Docker客戶端不允許這種命名 – shayy