Настройте запуск Docker для использования ssl / https / tls - PullRequest
2 голосов
/ 18 мая 2019

Есть ли способ настроить запуск Docker для использования https? Что-то вроде:

docker run --https --certs xyz  myimage 

или вам нужно настроить этот материал в Dockerfile / образе? Аналогично для TLS.

 docker run --tls --certs xyz  myimage 

Одним из преимуществ является то, что нам не нужно было бы копировать сертификаты на изображение - я бы предпочел не иметь сертификатов на изображении и / или в работающем контейнере.

Хотя я полагаю, что лучше всего использовать опцию -v для совместного использования сертификатов хоста в контейнере.

Обновление : после некоторых исследований я нашел это: https://docs.docker.com/engine/security/https/

там написано, чтобы запустить домен докера примерно так:

 dockerd --tlsverify --tlscacert=ca.pem \
   --tlscert=server-cert.pem --tlskey=server-key.pem \
   -H=0.0.0.0:2376

Правильно ли это сделать для защиты всех контейнеров на машине?

1 Ответ

2 голосов
/ 19 мая 2019

Опции dockerd tls предназначены для настройки демона на прослушивание через сетевой порт вместо или в дополнение к docker.sock.Это для запросов Docker API, а не для доступа к вашему приложению, и я не верю в то, что вы запрашиваете.

Похоже, вы ищете завершение TLS и пересылку запроса в ваше приложение по HTTP.Для этого есть различные обратные прокси, которые могут работать перед вашим контейнером.Примеры включают в себя nginx, traefik, haproxy, и я полагаю, что большинство, если не все, поддерживают завершение TLS.Они, как правило, сосредотачиваются на уровне 7 и протоколе HTTP, поэтому, если у вас есть другие типы протоколов, вы можете быть вынуждены монтировать учетные данные TLS в свой контейнер, желательно в качестве секретного или, в худшем случае, тома только для чтения.

...