У меня есть следующий docker-compose.yaml для личного реестра докеров, который будет запущен на minikube:
version: '3'
services:
registry:
restart: always
image: registry:2
command: ["/bin/sh", "-ec","sleep 1000"]
ports:
- 443:443
environment:
REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
REGISTRY_HTTP_TLS_KEY: /certs/domain.key
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
volumes:
- /home/usr/registry/data:/var/lib/registry
- /home/usr/registry/certs:/certs
- /home/usr/registry/auth:/auth
Когда я делаю kompose up
, реестр должен быть запущен. Но выполнение docker login localhost:443
только дает мне ошибку отказа в соединении. Если я бегу
docker run -d --restart=always --name registry -v `pwd`/auth:/auth -v `pwd`/certs:/certs -v `pwd`/certs:/certs -e REGISTRY_AUTH=htpasswd -e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key -p 443:443 registry:2
все работает нормально, и я могу войти в свой личный реестр.
Это важно по той причине, что у меня есть webapp-образ, который находится в частном реестре и должен быть извлечен kubernetes (minikube) из него. Тем не менее, я всегда получаю ошибку CrashLoopBackoff, которую я считаю из-за того факта, что реестр не может быть запущен из kubernetes и случайно не доступен для него. Что я не так делаю?