Przeczytałem wiele tutoriali na temat konfigurowania i używania mojego prywatnego rejestru dokerów.Dlaczego znacznik wydaje się być ściśle powiązany z nazwą hosta rejestru?
Jedna rzecz, która mnie zaskoczyła to fakt, że znacznik, z którym oznaczam obraz, wydaje się być ściśle powiązany z nazwą hosta rejestru.
docker tag <imageid> registry.mycompany.com:5000/myrepo:tag
docker push registry.mycompany.com:5000/myrepo:tag
Wydaje się to bardzo sprzeczne z intuicją. Co się stanie, jeśli rejestr będzie musiał przejść na inną nazwę hosta? Lub jeśli używam różnych nazw hostów bez względu na to, czy uzyskuję dostęp do serwera wewnętrznie/zewnętrznie?
Co wydaje się bardziej intuicyjne dla mnie byłoby określić rejestr podczas pchania/ciągnięcia:
docker tag <imageid> myrepo:tag
docker push myrepo:tag --registry=registry.mycompany.com
docker pull myrepo:tag --registry=registry.mycompnay.com
Jakie jest uzasadnienie dla tego? Jakie kluczowe informacje brakuje mi?
Nie śledzę - adres URL * jest * częścią nazwy. Jeśli został zmieniony/usunięty, to (prawdopodobnie) odnosi się do innego obrazu. –
@AdrianMouat, część nazwy dotyczy 'docker push', aby wiedzieć, z którym serwerem musi się skontaktować. Druga część nie powinna się zmienić (chociaż ': latest' jest zawsze trochę niebezpieczne i może nie odnosić się do tego samego obrazu z jednego serwera na drugi). Jeśli twój serwer rejestru jest przechowywany w zmiennej środowiskowej, możesz łatwo ponownie użyć tego samego wyrażenia na innym serwerze '$ {nazwa_wirtualu}/myrepo: znacznik'. – VonC
'tag dokowania docku $ {nazwa rejestru}/ubuntu' nie działa. Klient dockera nie dopuszcza tego rodzaju nazewnictwa. – shayy