
Configurei um Docker Registry (porta 5000), que pode ser acessado pela Internet via Reverse-Proxy (HAproxy) via https (porta 443).
Meu proxy reversonão éescutando na porta 80 (por vários motivos) - apenas 443.
No entanto, quando tento extrair/enviar imagens para o registro, recebo este erro:
> docker push dockerreg.mydomain.tld/foo/bar:tag
The push refers to repository [dockerreg.mydomain.tld/foo/bar]
67e5bc702bd3: Layer already exists
1ee6a18298af: Layer already exists
0d8d066a4449: Layer already exists
....
402111a9b517: Layer already exists
5be968ab3b04: Layer already exists
b8d33b7d28fe: Layer already exists
Patch http://dockerreg.mydomain.tld/v2/foo/bar/blobs/uploads/840a9fc2-5c10-4c0e-b674-82f76c3794a3?_state=vcTZPbOrQmhcKwilCyutNGwVpFjvWigJCApZHA834757Ik5hbWUiOiJmb3Rvd2V0dGVyL2NsZWFuIiwiVVVJRCI6Ijg0MGE5ZmMyLTVjMTAtNGMwZS1iNjc0LTgyZjc2YzM3OTRhMyIsIk9mZnNldCI6MCwiU3RhcnRlZEF0IjoiMjAyMS0wOC0xNFQyMTozODo1Mi42MzgxNjY5NTdaIn0%3D:
dial tcp 1.2.3.4:80: i/o timeout
Aparentemente ele tenta acessar o registro via http/80
Consegui usar o comando docker login, https://dockerreg....
mas os comandos docker pull/push não podem ser executados com https://
Existe alguma maneira de acessar meu registro do docker sem um redirecionamento https na porta 80 do meu proxy reverso?
Responder1
Você precisa definir a host
opção http:https://docs.docker.com/registry/configuration/#http
Uma URL totalmente qualificada para um endereço acessível externamente para o registro. Se presente, será usado ao criar URLs gerados. Caso contrário, esses URLs serão derivados de solicitações de clientes.
Isso pode ser definido em um arquivo de configuração injetado no registro ou com a variável de ambiente REGISTRY_HTTP_HOST
.