![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Чтоб не забыть, если вдруг чего - запишу, чего делал.
1) docker registry - обычный контейнер registry.
Проброшены тома certs:/certs и data:/var/lib/registry
Установлены следующие переменные:
REGISTRY_AUTH_TOKEN_REALM=https://dreg.domain.tld/api/auth
REGISTRY_AUTH_TOKEN_SERVICE=dreg.domain.tld:5000
REGISTRY_AUTH_TOKEN_ISSUER=dreg.domain.tld
REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/certs/dreg.crt # на самом деле - такой же, как и следующий
REGISTRY_HTTP_TLS_CERTIFICATE=/certs/dreg.domain.tld.crt
REGISTRY_HTTP_TLS_KEY=/certs/dreg.domain.tld.key
REGISTRY_STORAGE_DELETE_ENABLED=true # для удаления ненужных образов
поскольку я таки лентяй - оставил реестр на порту 5000
2) docker-registry-web - вебморда к докеру, осуществляет авторизацию, раздачу ролей и позволяет удалять контейнеры, если в реестре это разрешено.
конфиг registry-web.yml:
Дополнительно ставится переменная REGISTRY_TRUST_ANY_SSL=true (почему-то установленное в конфиге не является убедительным)
Пробрасываются следующее:
a) conf/registry-web.yml:/conf/config.yml:ro - конфиг
b) conf/dreg.key:/conf/dreg.key - ключ для авторизации (соответствует dreg.crt из конфига реестра)
c) db:/data - каталог под БД вебморды
используется версия контейнера hyper/docker-registry-web:v0.1.2 (более новая 0.1.3 таки не заработала как надо)
3) вебморда на nginx. Чисто для https к вебморде.
А всё почему? Потому что разрекламированный Portus не делает архивных копий своих _работающих_ версий, отчего в один прекрасный момент у них оказались разломанными не только контейнеры, но и rpm. А пересобирать нечто на ruby, да ещё зависящее от хз какой версии мне как админу сильно влом.
1) docker registry - обычный контейнер registry.
Проброшены тома certs:/certs и data:/var/lib/registry
Установлены следующие переменные:
REGISTRY_AUTH_TOKEN_REALM=https://dreg.domain.tld/api/auth
REGISTRY_AUTH_TOKEN_SERVICE=dreg.domain.tld:5000
REGISTRY_AUTH_TOKEN_ISSUER=dreg.domain.tld
REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/certs/dreg.crt # на самом деле - такой же, как и следующий
REGISTRY_HTTP_TLS_CERTIFICATE=/certs/dreg.domain.tld.crt
REGISTRY_HTTP_TLS_KEY=/certs/dreg.domain.tld.key
REGISTRY_STORAGE_DELETE_ENABLED=true # для удаления ненужных образов
поскольку я таки лентяй - оставил реестр на порту 5000
2) docker-registry-web - вебморда к докеру, осуществляет авторизацию, раздачу ролей и позволяет удалять контейнеры, если в реестре это разрешено.
конфиг registry-web.yml:
registry: # Docker registry url url: https://dreg.domain.tld:5000/v2 # Docker registry fqdn name: dreg.domain.tld:5000 # To allow image delete, should be false readonly: false # Trust any SSL certificate when connecting to registry (self-sign too) trust_any_ssl: true auth: # Enable authentication enabled: true # Token issuer # should equals to auth.token.issuer of docker registry issuer: 'dreg.domain.tld' # Private key for token signing # certificate used on auth.token.rootcertbundle should signed by this key key: /conf/dreg.key
Дополнительно ставится переменная REGISTRY_TRUST_ANY_SSL=true (почему-то установленное в конфиге не является убедительным)
Пробрасываются следующее:
a) conf/registry-web.yml:/conf/config.yml:ro - конфиг
b) conf/dreg.key:/conf/dreg.key - ключ для авторизации (соответствует dreg.crt из конфига реестра)
c) db:/data - каталог под БД вебморды
используется версия контейнера hyper/docker-registry-web:v0.1.2 (более новая 0.1.3 таки не заработала как надо)
3) вебморда на nginx. Чисто для https к вебморде.
А всё почему? Потому что разрекламированный Portus не делает архивных копий своих _работающих_ версий, отчего в один прекрасный момент у них оказались разломанными не только контейнеры, но и rpm. А пересобирать нечто на ruby, да ещё зависящее от хз какой версии мне как админу сильно влом.