Een machine die een extern register via een proxy bereikt, kan met Skopeo een image naar een intern register kopiëren. Configureer het proces dat de kopie uitvoert:

export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=registry.internal.example

skopeo copy --all \
  docker://registry.public.example/team/image:stable \
  docker://registry.internal.example/team/image:stable

De registernamen en de image-referentie zijn voorbeelden. De bron gaat via de proxy; het interne register wordt door de bypass-regel gematcht. Voor een toegestane kopie van een openbare bron zonder geconfigureerde proxy-inloggegevens kan de HTTP-proxylijst kandidaat-HTTP-eindpunten leveren terwijl die interne bypass blijft staan. Pas die regel aan op de bestemmingshostnaam die de opdracht daadwerkelijk gebruikt.

docker:// is de image-transportnaam voor registerreferenties. Het betekent niet dat de kopie aan een lokale Docker-daemon wordt gedelegeerd. De register-HTTP-transport van Skopeo gebruikt proxy-detectie uit de omgeving, tenzij een inbedrijvende toepassing expliciet een andere proxy-URL levert.

--all is belangrijk wanneer de bronreferentie een multi-platform image-index of manifestlijst selecteert: het vraagt alle gerefereerde images te kopiëren. Zonder die keuze kan een kopie een image voor het huidige platform selecteren in plaats van de volledige multi-platform-referentie te reproduceren.

Na de kopie kunnen stroomafwaartse machines de image-referentie van het interne register gebruiken. Hun vermogen om die op te halen hangt af van hun route naar dat register; ze erven niet de omgeving van het proces dat de kopie uitvoerde.

Gerelateerde artikelen