Автор Тема: docker containers  (Прочетена 16345 пъти)

tritonchev

  • Напреднали
  • *****
  • Публикации: 24
    • Профил
docker containers
« -: Aug 09, 2019, 21:10 »
Здравейте,

Нов съм в начинанието с докер. Имам въпрос :

Като съм в вдигнал Nginx+Letsencrypt с docker-compose, как може всеки нов контейнер който инсталирам да е обвързан с SSL на домейна. Предпоlагам с reverse proxy , но как да го направя. Някой да има guide Или да ме насочи къде да потърся.  Искам да стане така да достъпвам отделен контейнер ----  https://container_name.example.com   

Благодаря предварително
Активен

ray

  • Напреднали
  • *****
  • Публикации: 1464
    • Профил
Re: docker containers
« Отговор #1 -: Aug 10, 2019, 20:06 »
Здравей,

Не е много ясно къде ще се деплойват тези контейнери ?
AWS, Google, Azure или някъде другаде.
Има значение тъй като може да има Loadbalancer и на него да е сертификата.

Отделно на един хост може да се пуснат много контейнери и ако има идентични решението ще бъде друго и т.н.
Всъщност ако са идентични трябва да слушат на различни портове.

Във AWS лоудбалансърите са класически и приложен, пак има разлика при настройването им.
« Последна редакция: Aug 10, 2019, 20:09 от ray »
Активен

nslave

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Fedora / Debian
  • Window Manager: Xfce
    • Профил
Re: docker containers
« Отговор #2 -: Aug 11, 2019, 11:57 »
И аз не съм много в час с тези неща, но последно като съм гледал мисля, че се правеше с wildcard сертификат на host-a и след това монтиране на файловете със сертификатите в контейнера. Това ако не се мъчиш да балансираш каквото и да било де, ами са си отделни неща. Другият вариант, който се сещам е без wildcard, ами всеки контейнер да си има монтирана главната папка на letsencrypt от хоста и да си се грижи сам за обновяването.

Иначе за reverse proxy, често срещам да споменават Traefik, но как точно се използва нямам идея.
« Последна редакция: Aug 11, 2019, 12:02 от nslave »
Активен

ray

  • Напреднали
  • *****
  • Публикации: 1464
    • Профил
Re: docker containers
« Отговор #3 -: Aug 11, 2019, 15:15 »
В първия отговор дадох някаква общо взето по-обща информация, мързеше ме пък и не бях проверил това онова. Не съм и разработчик  ;)

Имах предвид 2-3 неща, първо че ако се използва Loadbalancer е лесно да се сложи един wildcard сертификат на него и толкова.
Връзката между него и отделните машини/контейнери може да бъде със или без криптиране.
Това за сертификата важи и за reverse-proxy-то  :)

Второ ако се ползва application-loadbalancer може да се насочва трафика към определена машина на база на поддомейна за който е заявката.

Трето, може да се използва и session-persistance и заявките да отиват към една и съща машина. Това ако се използва класически лоудбалансър.

Другия вариант е да се вдигне едно reverse-proxy (нямам идея кое е най-добро) и от него според заявките те да се насочват към дадената машина/контейнер - поддомейн.
Нямам опит с подобна конфигурация, вероятно може да стане с четене и ровене  :o

Ето някакъв линк който излезе първи:
https://www.nginx.com/resources/glossary/reverse-proxy-vs-load-balancer/
Активен

tritonchev

  • Напреднали
  • *****
  • Публикации: 24
    • Профил
Re: docker containers
« Отговор #4 -: Aug 12, 2019, 14:00 »
На домашният ubuntu сървър искам да го кача, гледам ползват това jwilder/nginx-proxy, но ще си поиграя за да го подкарам.
Активен

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: docker containers
« Отговор #5 -: Aug 14, 2019, 15:42 »
Не слагай сертификати в контейнера, безпредметно е. По-добре настрой едно фронт енд прокси което да ти поема нещата по https, и просто апа ти вътрешно да продължава по стандартен http. Щом трафика ти няма да напуска локалната машина не е бела.
letsencrypt няма как да пуснеш автоматично в контейнер, понеже това противоречи на философията на докер - един контейнер един процес. На теб ще ти трябва крон + някакъв сървис и ще трябва да си пишеш свой инит скрипт който да пали и двете. В докер контейнера нямаш init/systemd.

Докер компоузър не съм ползвал, пиша си докер файловете на ръка. За това което ми говориш по-скоро става въпрос за kubernetes или docker swarm решение. Чист докер който вдига един контейнер без лоуд балънсър ми се струва излишно да правиш проксита.
Не си обяснил какво точно искаш да правиш за да ти дам по-точна информация.
« Последна редакция: Aug 14, 2019, 15:49 от growchie »
Активен

tritonchev

  • Напреднали
  • *****
  • Публикации: 24
    • Профил
Re: docker containers
« Отговор #6 -: Aug 14, 2019, 16:47 »
Пример:

Инсталиран portainer, guacamole, plex и т.н (с докер). Достъпът от вън да бъде https://plex.example.com. guacamole.example.com, plex.example.com. като имам активен домейн.
Активен

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: docker containers
« Отговор #7 -: Aug 15, 2019, 08:36 »
Така както го мислиш и ми го обясняваш няма как да стане. Базовото айпи на всички поддомейни ще е едно и също, само портовете на които ще са достъпни услугите ще са различни (предполагам, че имаш само 1 публичен адрес). Летсенкрипт не ти позволява да имаш * сертификати, така че правилното нещо е да направиш сертификат за example.com и да правиш редикеркт с мод прокси към example.com/prex, example.com/portainer и т.н. Специално за портейнъра има инфо как да вкараш сертификат в контейнера https://portainer.readthedocs.io/en/stable/deployment.html#secure-portainer-using-ssl
Активен

10101

  • Напреднали
  • *****
  • Публикации: 384
  • Distribution: GNU LINUX
    • Профил
Re: docker containers
« Отговор #8 -: Aug 15, 2019, 09:14 »
Здравейте,

С това не съм съгласен:

"Летсенкрипт не ти позволява да имаш * сертификати,"

На една машина с 1 ип може да имаш повече от 1 сертификат от летс.
Активен

А печат ?

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Re: docker containers
« Отговор #9 -: Aug 15, 2019, 09:44 »
Ти може да имаш и 1000 ама уеб сървърът ти ще ползва само 1 реално. Това за * от летсенкрипт съм го пропуснал гледам че го има от година някъде.
« Последна редакция: Aug 15, 2019, 09:46 от growchie »
Активен

VhgErr0r

  • Новаци
  • *
  • Публикации: 1
    • Профил
Re: docker containers
« Отговор #10 -: Feb 24, 2022, 12:39 »
Здравей, ето ти нещо което съм правил аз и работи.

https://upload.bg/?file=62176043127d9 pass 1029384756

Здравейте,

Нов съм в начинанието с докер. Имам въпрос :

Като съм в вдигнал Nginx+Letsencrypt с docker-compose, как може всеки нов контейнер който инсталирам да е обвързан с SSL на домейна. Предпоlагам с reverse proxy , но как да го направя. Някой да има guide Или да ме насочи къде да потърся.  Искам да стане така да достъпвам отделен контейнер ----  https://container_name.example.com   

Благодаря предварително
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Относно Portainer и Docker
Настройки на софтуер
IamCage 1 11251 Последна публикация Feb 08, 2023, 01:35
от jet
Apache2 reverse proxy to Azuracast installed in Docker container
Сървъри
ivanovslavy 2 2995 Последна публикация Jan 04, 2024, 12:28
от ivanovslavy
Ansible Kubernetes Docker
Настройка на програми
Bogo 19 6390 Последна публикация Mar 18, 2024, 19:33
от Nik123