docker Registry-mirrors não é usado para imagens fqdn

docker Registry-mirrors não é usado para imagens fqdn

Eu tenho um servidor docker atrás de um firewall, então não consigo extrair imagens diretamente de nenhum registro além dos servidores internos.

eu configureidoisespelhos de registro ( registry-1.docker.ioe mcr.microsoft.com), seguindodocumentos.

Minha daemon.jsonaparência é:

{
  "registry-mirrors": [
          "https://registry_1_docker_io.example.com",
          "https://mcr_microsoft_com.example.com"
  ] 
}

Posso extrair imagens do docker hub com êxito executando, por exemplo:

$ docker pull nginx:1
1: Pulling from library/nginx
....
Status: Downloaded newer image for nginx:1

Meu problema é queNão consigo extrair imagens do registro da Microsoft:

# docker pull mcr.microsoft.com/mssql/server:2017-latest
Error response from daemon: Get "https://mcr.microsoft.com/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

A janela de encaixe tenta se conectar diretamente mcre ignora meu espelho. Se eu usar um nome de imagem curto ( mssql/server:2017-latestem vez de mcr.microsoft.com/mssql/server:2017-latest), ele funcionará, mas poderá obter a imagem do docker hub em vez do mcr da Microsoft se a tag for a mesma em ambos.

Além disso, se eu observar os logs, o docker tentará todos os proxies da imagem em ordem, portanto, pode haver uma situação em que a imagem seja obtida do repositório errado.

Existe alguma maneira de marcar um espelho como espelho para um registro específico?

Responder1

Existe alguma maneira de marcar um espelho como espelho para um registro específico?

Não, esta é uma limitação do mecanismo docker, registry-mirrorsé apenas para Docker Hub. Você pode seguiredição 18818para mais detalhes.

Isso pode mudar quando o docker trocar o tratamento de imagens do docker para o containerd em um futuro próximo, já que o containerd tem uma configuração diferente para lidar com espelhos.

informação relacionada