Stepan
Всем привет! У меня новичковый вопрос — как организовать продакшн сервер на котором будет крутится несколько докер контейнеров с разными проектами? Я так понимаю, что нужен, например, HAProxy, который будет проксировать запросы по разным доменам к соответствующим проектам, Вопрос — как правильно линковать эти проекты к прокси? Например в случае, если у меня используется докер-композ
Stepan
Кто как делает? Есть-ли статьи на эту тему?
Oleg
nginx?
Dmitry
Dmitry
Готовый для docker
An7on
http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/
Stepan
Да, я видел, я просто не совсем понимаю, как настроить так, чтобы сети разных проектов из докер-композа линковались с этим прокси контейнером
An7on
вот в статье
An7on
какраз про это
Stepan
Спасибо @iamgig! Посмотрю :)
Dmitry
Dmitry
Или как-то так :)
Dmitry
Ну и порт expose
Stepan
надо как-то наоборот
Stepan
я не хочу экспозить порт, хочу по имени контейнера
Stepan
чтобы на серваке только 80 и 443 были открыты
Stepan
да, я так и хочу
Dmitry
Ну вот links
Vladimir
у нас на проектах регистратор-консул-нгинкс связочка, что-то деплоишь оно автоматом по имени проекта поднимает линк а нгинкс
Dmitry
Для одной сети
Stepan
т.е. в контейнере с прокси должны быть перечислены все сети других проектов?
Dmitry
А на проксе пишешь ports:
Dmitry
Dmitry
Если дефолтной хватает оно сразу а одной сети
Dmitry
Только нужно links прописать
Dmitry
Вообще я сейчас из головы все это пишу, лучше почитай реально статью :)
Stepan
ага
Stepan
хорошо, спасибо!
Dmitry
И документацию
Dmitry
Docker-compose reference неплохо написан
Владимир
Парни, а как лучше/правильнее делать ротацию логов контейнера, которые пишутся в примонтированную папку?
Igor
--log-driver=none
😂
Igor
ну или logrotate
/var/lib/docker/containers/*/*.log {
rotate 31
daily
nocompress
missingok
notifempty
copytruncate
}
Igor
мы используем elasticsearch + kibana
и отправляем логи туда через rsyslog
Denis
в rsyslog можно сделать что то типа
template(
name="containerLogs"
type="string"
string="/var/log/docker/%programname%/%programname%.log-%$YEAR%-%$MONTH%-%$DAY%"
)у вас будет сам как бы "ротироваться" файлик локальный
Владимир
примерно в эту сторону и думал
Владимир
а почему не встроенный лог-драйвер gelf? не пользуетесь logstash?
Igor
logstash много памяти сьедает - 1Гб вроде, коллега который делал отправку логов, решил использовать минималистичный rsyslog
и мы используем встроенный gelf
Ivan
Конечно, это же JRuby. Только отправлять не надо самим logstash, а брать filebeat (он же logstash-forwarder).
Denis
# systemctl status logstash_kafka.service | grep Mem
Memory: 2.3G
Denis
это логстеш который просто получает логи от logstash forwarder и кладёт в kafka
Roman
https://blog.abevoelker.com/why-i-dont-use-docker-much-anymore/
Aleksey
Aleksey
с частыми отсылками к неосиляторам или проблемам 2014-ого года
Aleksey
но
"I think we're at 9 5's currently (with Docker)
55.5555555% uptime"
порадовало :)
Alex 서퍼
А кто-нибудь пробовал Hashicorp Nomad?
Igor
Ребят, слушайте, в докер-композе, image - это взять образ какой-то кастомный, а build: .data/nginx (в папке лежит dockerfile) - это построить образ по докерфайлу.. Верно?
Igor
Или не так?
Lev
да
Igor
Igor
Глянул вот это http://stackoverflow.com/questions/32230577/how-do-i-define-the-name-of-image-build-with-docker-compose
Тут в примере ( в ответе) и image и build пишутся. Как я понял, берем образ такой-то, и на его основе строим свой образ по докерфайлу.
Alf 🙀
Igor
Анатолий, привет. Читаю твои ответы на многие вопросы - пока не успеваю за ходом мыслей.
Igor
Lev
я так понимаю, образ тегируется после сборки
Lev
всё
Igor
services:
es-master:
build: ./elasticsearch
image: porter/elasticsearch
Какая ж тут еще логика
Igor
тегируется чем?
Alf 🙀
If you specify image as well as build, then Compose names the built image with the webapp and optional tag specified in image:
Lev
текстом тегируется)
Alf 🙀
вот отсюда: https://docs.docker.com/compose/compose-file/compose-file-v2/#build
Lev
по ссылке на стековерфлоу вопрос "How do I define the name of image build with docker-compose"
Lev
не более того
Igor
Ага, разобрался! Спос!
Вот пытаюсь разобраться в конфигах нгинкса, сделать образ, в докер-композ его и запуститься
Aleksandr
подскажите, почему когда я запускаю контейнер influxdb, то порты создаются на tcp6 ?
Alf 🙀
Alf 🙀
Ну или отключи ипв6
Денис
Кто то сравнивал цены Амазона если докер контейнер поднимать на ес2 или докер ес2 ? Есть разница ?
Alf 🙀
Денис
Alf 🙀
Да :)
У Амазона же есть калькулятор. Там примерно можно посчитать.
Andrey
а ещё они же учудили нищевдс аля ДО, для особо жмотливых
Igor
для тех кого пугает их развесистый инженерный гуй в панели управления
Igor
и стопицот своих терминов и сущностей
Igor
я скоро сертификацию на aws архитектора сдавать буду, а до сих пор путаюсь
🏳️ Phil
🏳️ Phil
мой мир никогда не будет прежним
🏳️ Phil
diphost-инженер блеать