Para um registro Distribution em contentor que usa um transporte HTTP consciente do ambiente, passe a rota S3 para o contentor do registro:

services:
  registry:
    environment:
      HTTP_PROXY: http://proxy.example.internal:8080
      HTTPS_PROXY: http://proxy.example.internal:8080
      NO_PROXY: localhost,127.0.0.1

Combine isto com a imagem, o armazenamento, a autenticação e os volumes existentes. O fragmento não é um registro completo. O nome do proxy tem de ser alcançável a partir desse contentor, e o esquema tem de corresponder ao ouvinte do proxy.

Confirme o controlador S3 e o transporte implementados. A fonte citada de Distribution 2.8.3 usa uma sessão AWS SDK; um controlador ou transporte personalizado pode exigir outra configuração suportada.

LigaçãoQuem configura ou investiga
Cliente → registroO ouvinte HTTP de entrada do registro e a rota do cliente
Daemon → origem da imagemConfigurações de proxy do daemon Docker
Registro → S3O transporte HTTP de armazenamento do processo do registro

Um login de cliente bem-sucedido prova apenas a primeira rota. O controlador de armazenamento faz os seus próprios pedidos ao S3; o daemon que anteriormente descarregou a imagem do registro não faz essas chamadas.

Inspecione também os redirecionamentos durante as transferências de blobs. O Distribution pode redirecionar um consumidor para o armazenamento de objetos, o que exige que esse cliente alcance o S3 diretamente. Configurar o proxy do registro não configura o consumidor. Alterar o comportamento de redirecionamento altera o caminho do tráfego de blobs, por isso identifique o emissor e a operação que falham antes de ajustar essa definição.

Artigos relacionados