Docker Registry pull/push только 443

Docker Registry pull/push только 443

Я настроил Docker Registry (порт 5000), который затем доступен из Интернета через обратный прокси-сервер (HAproxy) по протоколу https (порт 443).

Мой обратный проксине являетсяпрослушивание порта 80 (по разным причинам) - только 443.

Однако при попытке загрузить/выгрузить образы в реестр возникает следующая ошибка:

> 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

Видимо, он пытается получить доступ к реестру через http/80.

Мне удалось использовать команду docker login, https://dockerreg....но команды docker pull/push не могут быть запущены с https://

Есть ли способ получить доступ к моему реестру Docker без https-редирект на порт 80 моего обратного прокси-сервера?

решение1

Вам необходимо установить hostопцию http:https://docs.docker.com/registry/configuration/#http

Полностью определенный URL для внешнего достижимого адреса для реестра. Если присутствует, он используется при создании сгенерированных URL. В противном случае эти URL извлекаются из клиентских запросов.

Это можно сделать либо в файле конфигурации, добавленном в реестр, либо с помощью переменной среды REGISTRY_HTTP_HOST.

Связанный контент