Безопасный приватный Docker-реестр - PullRequest
0 голосов
/ 26 марта 2019

Как настроить личный безопасный Docker-реестр.

Я установил через helm

Теперь, как я могу сделать его безопасным(Сертификаты TLS), так что я могу нажать и вытащить в реестр из докера и из развертывания kubernetes?

Я вижу, что есть конфигурация Helm:

tlsSecretName   Name of secret for TLS certs

Обновление - текущий статус : я смог заставить cert-manager работать и устанавливать с TLS:

helm install stable/docker-registry --set tlsSecretName=example-com-tls

Я не силен всертификаты - но мне неясно следующее :
1.
Могу ли я сейчас создать Ingress (с секретом для сертификации), который будет принимать только входящие запросы с этим сертификатом?Я посмотрю на предложенную ссылку от @xzesstence завтра
2.
Думаю, мне нужно указать docker push, где найти сертификат?Может быть, это ( Я попробую это завтра ): https://docs.docker.com/engine/security/certificates/

1 Ответ

1 голос
/ 26 марта 2019

Ознакомьтесь с официальными учебными пособиями по докеру https://docs.docker.com/registry/deploying/

и особенно точка Получить сертификат

Короче говоря, вам нужно получить сертификат и поместить его в / certs (или изменить монтирование папки следующей команды docker, выполнив команду -v / cert). Также проверьте имя сертификата, либо переименуйте в domain.crt, либо измените имя файла в команде запуска docker

затем запустите

docker run -d \
  --restart=always \
  --name registry \
  -v "$(pwd)"/certs:/certs \
  -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

Если у вас нет сертификата, вы можете использовать letsencrypt https://letsencrypt.org/

Может быть, вы захотите оформить этот старт-скрипт с помощью сертификатов letsencrypt. (не проверено с моей стороны) Преимущество этого заключается в том, что у вас есть встроенный сервис letsencrypt, который может автоматически продлить лицензию https://gist.github.com/PieterScheffers/63e4c2fd5553af8a35101b5e868a811e

Edit: Так как вы используете Docker для проверки кластера Kubernetes, это отличное руководство https://medium.com/@jmarhee/in-cluster-docker-registry-with-tls-on-kubernetes-758eecfe8254

...