Dmitry
ну типа нужен адрес мастер хоста. Для vernemq (кластеризация erlang , да).
Dmitry
а так, есть 2 хоста с swarm mode
Sergey
^
Специфично, не видя yml контейнеров не подскажу, да и с ними надо подумать хорошо. Ну кроме маунта /etc/hostname мастера на остальные ноды с целью добавить в hosts
Dmitry
контейнер отсюда https://hub.docker.com/r/erlio/docker-vernemq/
Dmitry
hostname: !unsafe {{ .Service.Name }}-{{ .Node.Hostname }}
Dmitry
mode: global
Dmitry
просто я не могу понять, оно так вообще должно работать - или это миф?
Dmitry
так - ping по hostname
Sergey
скорее нет чем да, сейчас проверю
Dmitry
спасибо
Dmitry
я просто запарился в тикетах закрытых,открытых... кто-то говорит что оно ушло в релиз кто-то все еще жалуется...
Dmitry
Ну ладно. даже если этот вариант не прокатит, как народ делает кластеризацию? отдельные сервисы на каждую ноду кластера?
Dmitry
типа vernemq-master и vernemq-slave x 2
Sergey
спасибо
два разных контейнера в рамках одного стэка друг друга по хостнейму - пингуют
Dmitry
😄
Dmitry
стэк = сервис?
Sergey
нет, stack сворма
Sergey
внутри стэка крутятся разные сервисы
Sergey
два разных сервиса имеют по одному контейнеру и друг дружку пингуют, в моем случае
Dmitry
у меня ни одного стека
Dmitry
я сразу деплою сервис
Sergey
docker service create ?
Dmitry
да
Dmitry
типа docker network create --driver overlay my-network docker service create \ --replicas 3 \ --network my-network \ --name my-web \ nginx
Dmitry
Ну и вообще. Как сегодня кластеризуют такие вещи как зукипер?
Dmitry
Хотелось бы опубликовать куда-то все ip контейнеров с определенным лейблом
Dmitry
а, может множественные серыисы создавать для каждого члена кластера
Rustem
в run можно указать сеть и ip для контейнера, см. https://docs.docker.com/engine/reference/run/#network-settings
Rustem
Имеет ли смысл использование сервисов без стэка? Это же тот же контейнер, просто без связки с другими через стэк.
Dmitry
короче я ваще запарился.
a1eXei
Привет всем :) Кто-нибудь поднимал moodle в контейнере? https://github.com/bitnami/bitnami-docker-moodle
Dmitry
да заработало с нескольккими службами. Но теперь проблемы в том, что Erlang кластер хочет fqdn
Rustem
ну я хочу опубликовать порт наружу
docker run -p 127.0.0.1:80:8080 ubuntu bash 127.0.0.1:80- это IP и порт на хосте 8080 - это порт на контейнере -p - это сокращение от —publish, т.е. опубликовать (пробросить) порт по такому-то адресу, так проще запомнить.
Dmitry
но как контроллировать на каком swarm ноде это запустится?
twwlf
но как контроллировать на каком swarm ноде это запустится?
почитать доку про нетворкинг в сворме, например
twwlf
ну и про теги тоже можно
Rustem
но как контроллировать на каком swarm ноде это запустится?
https://docs.docker.com/engine/reference/commandline/service_create/#specify-service-constraints-constraint
Dmitry
Constrains же как раз для сервиса
Dmitry
Тут предлагают голый контейнер запускать
Rustem
Constrains же как раз для сервиса
Может тогда все таки https://github.com/docker/labs/blob/master/swarm-mode/beginner-tutorial/README.md
Rustem
Тут предлагают голый контейнер запускать
Конкретная проблема - конкретное решение, комплексная проблема - комплексное решение. Пройди туториал, будет быстрее. Синдром зайца пройдет.
Dmitry
Оно работает в сервисе. Проблема в dns имени. Нельзя задать fqdn.
Rustem
или это https://docs.docker.com/engine/userguide/networking/default_network/configure-dns/
Dmitry
вот по поводу .network_name помогло, спасибо.
Dmitry
где это в доках я пропустил?
Dmitry
а ingress
Rustem
а mesh routing?
Да, наверно, не припомню, как накатывать обновления на голый контейнер.
Rustem
где это в доках я пропустил?
хз, мозг проспал наверно этот момент)
Dmitry
запилилось. ура.
Dmitry
просто не понятно почему по hostname пинги не ходят когда один сервис scale=2
Dmitry
я через шаблон задавал {{ .Service.Name }}-{{ .Node.Hostname }}
Rustem
А можешь описать ситуацию и решение? Надо фиксировать, все таки кусочек человеческой жизни потрачен)
Dmitry
ситуация. мне для своего проекта надо поднять mqtt кластер . выбрал vernemq, он на erlang, который жестко привязывается к имени хоста
Dmitry
там ессть еще автодискавери, которая привязывается к имени первого хоста
Dmitry
можно было бы взять что-то еще, но мне просто интересно именно с таким капризным кластерингом сделать что-то
Dmitry
по идее я могу сервис ваще выкинуть, да. запихнуть все в одну сеть и оно заработает
Dmitry
контейнеры вручную положить по нодам и открыть везде порты
Dmitry
но было бы еще лучше сделать replicate=2 у одного сервиса... но по кастомному (шаблонному) имени хоста не резолвится. хотя резолвится по alias, и пингуется / доступно по ip
Oleksii
Всем привет,можете подсказать как установить phpredis в контейнере?
Rustem
Товарищ админ, может запинить? http://docker.crank.ru/docs/docker-engine/docker-overview/
Max
Rustem спасибо за наводку, хороший сайт
Hикoлaй
Разъясните плиз. Насколько я понял феншуй докера, что один процесс = одному контейнеру. Тоесть если следовать данному правилу то простой сайт будет содержать связку из контейнеров (база данных, вебсервер, кодовая часть). Насколько плохо, или нет, если не следовать этому феншую и затолкать все в один контейнер?
Hикoлaй
хорошо, а в чем именно будет плохо и чем грозит в дальнейшем, если заталкивать все как в виртуалку
bazzilic
да ничем не грозит
bazzilic
Разъясните плиз. Насколько я понял феншуй докера, что один процесс = одному контейнеру. Тоесть если следовать данному правилу то простой сайт будет содержать связку из контейнеров (база данных, вебсервер, кодовая часть). Насколько плохо, или нет, если не следовать этому феншую и затолкать все в один контейнер?
слепо следовать правилу одного процесса не стоит, но выделять под каждую семантическую сущность по контейнеру - это верный подход. оверхед от контейнеров пренебрежимо мал, зато есть тонкое управление ресурсами на каждый компонент проекта + эфемерный перенос между хостами, если нужно мигрировать
Hикoлaй
я все ни как не могу определится с архитектурой микросервисов
Hикoлaй
на каждый микросервис получается что нужно поднимать обвязку из контейнеров
Hикoлaй
управлять обвязками же потом или вручную или k8s настраивать получается, иначе я хз как
Hикoлaй
но если я щас еще полезу в k8s меня заберут в дурку