@ru_docker

Страница 413 из 610
Anatoly
17.11.2017
12:44:44
ну не обязательно

Alexey
17.11.2017
12:44:50
вы лог посмотрите

что я приложил

Anatoly
17.11.2017
12:45:08
блин, да зачем мне публичные айпи.

Google
Anatoly
17.11.2017
12:45:20
вы же сворм не на паблик айпи делаете

Alexey
17.11.2017
12:45:21
приватных нету

Anatoly
17.11.2017
12:45:42
воу. пойду гляну лог.

а айпи реальные, кстати?

Alexey
17.11.2017
12:46:18
да реальные белые IP

Anatoly
17.11.2017
12:47:56
10.0.1.4 и 10.0.2.4 вы откуда взяли?

Alexey
17.11.2017
12:49:59
это приватые IP серверов, они не видят друг друга через них. я создал машины на azure в разных resourse groups.

т.е. они могут видеть друг друга только по публичным IP

когда я создаю swarm init я указываю публичный IP менеджера. Т.е. кроме публичных IP у них связи нету.

Anatoly
17.11.2017
13:11:41
т.е. они могут видеть друг друга только по публичным IP
но у них же нет публичного айпи на интерфейсе

вообще, конечно, не важно докер это не доккер, прибивать кластер на внешний айпи адрес может быть неожиданно рискованно, потому что надо высовывать машинки с портом 2377 в инторнеты и я не думаю что докер достаточно надежен чтобы такое делать. я не имел удовольствия работать с азуре, потому не знаю что такое resource zone, но что то мне подсказывает что иметь тачки в разных локальных сетях без связи между ними пустая задача там не только пинги работать не будут. привязать внешний ip адрес к доккеру скорее всего не получится постольку поскольку в докере написано что он ищет айпи адрес на интерфейсе вашей машинки. Подозреваю что по причине невозможности найти айпи адрес на интерфейсе в первом случае он просто свалился в 0.0.0.0:2377 и потому у вас пинг работает, во втором он тоже свалился в четыре ноля но т.к. машины не имеют роута между сетями то вам проделать такое не удалось.

Alexey
17.11.2017
13:32:34
вообще, конечно, не важно докер это не доккер, прибивать кластер на внешний айпи адрес может быть неожиданно рискованно, потому что надо высовывать машинки с портом 2377 в инторнеты и я не думаю что докер достаточно надежен чтобы такое делать. я не имел удовольствия работать с азуре, потому не знаю что такое resource zone, но что то мне подсказывает что иметь тачки в разных локальных сетях без связи между ними пустая задача там не только пинги работать не будут. привязать внешний ip адрес к доккеру скорее всего не получится постольку поскольку в докере написано что он ищет айпи адрес на интерфейсе вашей машинки. Подозреваю что по причине невозможности найти айпи адрес на интерфейсе в первом случае он просто свалился в 0.0.0.0:2377 и потому у вас пинг работает, во втором он тоже свалился в четыре ноля но т.к. машины не имеют роута между сетями то вам проделать такое не удалось.
Cейчас попробую добавить публичный IP в /etc/hosts. Какие-то еще манипуляции нужны? В azure я просто моделирую ситуацию на серверах, так удобнее. Но да, по сути есть 2 сервера и они никак не связаны. Есть только публиные IP. Ну такая конфигурация сети, я ничего не смогу с этим сделать. С точки с зрения docker все зашифровано ?

Grishq
17.11.2017
16:37:46
в 17.09 докере, если пробросить диапазон портов, оно на каждый порт отдельное правило создавать начинает )

Google
Grishq
17.11.2017
16:39:34
https://twitter.com/metakeks/status/931535877985226752

Grishq
17.11.2017
16:41:57
вообще-то умеет

Anatoly
17.11.2017
16:44:45
Ать черт умеет и правда. Мне казалось там была какая-то загвоздочка раньше. Ну ок. Полезно узнать. Спасибо.

targitaj
17.11.2017
18:48:16
ага, ну ясно, основатель Капибара

Dan
17.11.2017
18:50:26
?

ага, ну ясно, основатель Капибара
стал бы я другой чат пиарить ?

Alexey
18.11.2017
14:43:57
вообще, конечно, не важно докер это не доккер, прибивать кластер на внешний айпи адрес может быть неожиданно рискованно, потому что надо высовывать машинки с портом 2377 в инторнеты и я не думаю что докер достаточно надежен чтобы такое делать. я не имел удовольствия работать с азуре, потому не знаю что такое resource zone, но что то мне подсказывает что иметь тачки в разных локальных сетях без связи между ними пустая задача там не только пинги работать не будут. привязать внешний ip адрес к доккеру скорее всего не получится постольку поскольку в докере написано что он ищет айпи адрес на интерфейсе вашей машинки. Подозреваю что по причине невозможности найти айпи адрес на интерфейсе в первом случае он просто свалился в 0.0.0.0:2377 и потому у вас пинг работает, во втором он тоже свалился в четыре ноля но т.к. машины не имеют роута между сетями то вам проделать такое не удалось.
Спасибо за наводку, я нашел решение. Дополнительная конфигурация сети не требуется. Все решается средствами докера. Нужно просто когда делашь docker swarm join указать IP ноды --advertise-addr 13.75.112.235 А я просто копировал то что мне init отдает не особо задумывась. Т.е. все оказалось оч. просто. Но им не помешало бы это в доках написать, что не стоит просто копировать, надо подумать ?

Игорь
19.11.2017
07:58:11
Привет всем. Я конечно ещё толком не сел за комп ресерчить) но спрошу пока. В общем в чем идея... У меня есть рашбери, на ней пока висит пару приложений без докера, ну и немного граблей для автообновления. Но бывает неудобно в пакете обновлений тащить каждый раз новые нод модули, новую версию ноды и т.д.. На рашбери докер работает превосходно. Я отделил часть кода которая работает с пинами и повесил просто как локальный сервис. А остальную часть основного приложения хочу в докер завернуть. но каждый раз при релизе нового приложения пересобирать контейнер это трахнуться можно. Можно ли просто как то готовый собранный контейнер сразу скачивать в докер и запускать его?

Anatoly
19.11.2017
08:58:14
Привет всем. Я конечно ещё толком не сел за комп ресерчить) но спрошу пока. В общем в чем идея... У меня есть рашбери, на ней пока висит пару приложений без докера, ну и немного граблей для автообновления. Но бывает неудобно в пакете обновлений тащить каждый раз новые нод модули, новую версию ноды и т.д.. На рашбери докер работает превосходно. Я отделил часть кода которая работает с пинами и повесил просто как локальный сервис. А остальную часть основного приложения хочу в докер завернуть. но каждый раз при релизе нового приложения пересобирать контейнер это трахнуться можно. Можно ли просто как то готовый собранный контейнер сразу скачивать в докер и запускать его?
Ну вот смотрите, берете гитлаб туда пушите свой код, настраиваете там пайплайнс, после пуша приложения в докер хаб или в гитлаб реджистри смотрите в сторону сиай, если проще то баш скриптиками делаете пулл и старт приложения но управляемое со стороны гитлаб пайплайна, например. Гуглить в сторону ci/cd

Mike
19.11.2017
09:07:39
Прииивет!

Докер работает под виндоус 7? Как установить? )

Alexander
19.11.2017
09:42:26
от гугла отключили?

Mike
19.11.2017
09:44:06
Почему то докер нет под виндоус 10. Предлагают установить docker tools. Это правильный подход?

Anatoly
19.11.2017
09:44:41
Тебе же под семерку надо было

Переустановил?

Mike
19.11.2017
09:46:25
ссори... почему-то докер нет под виндоус 7

ошибочка вышла

да, я понял, что можно пошерстить в гугле... зачем тогда это сообщество? всё можно найти в гугле))

Google
Mike
19.11.2017
09:53:12
И всё-таки, может кто поделится советом?

Алексей
19.11.2017
09:57:25
Так ты же сам себе ответил...

Mike
19.11.2017
10:03:27
?

установить docker tools?

Alexander
19.11.2017
10:12:39
да

Mike
19.11.2017
10:18:23
ок, спасибо!

Alexey
19.11.2017
17:20:12
Чем обычно пользуются для деплоймента docker swarm приложений? У меня есть docker-compose.yml файл, я могу его развернуть сделав на manager ноде docker stack deploy... Это понятно, это работает. Но не заходить же на сервер для этого каждый раз, удобнее запустить просто команду на локальной машине. Кроме того бывает при деплое нужно выполнить миграции в базе данных, может еще какие-то мелочи... Чем обычно это делается? Чем вы сами пользуетесь?

Я использую capistrano для деплоймента сейчас...

Alexey
20.11.2017
05:44:51
docker -H foo.bar stack deploy
А как так можно сделать? Тогда же порт 2375 на сервере должен быть открыт на ружу и открыт. Объясните как с этим жить в продакшен?

Alexey
20.11.2017
05:46:30
прикрутить сертификаты?
так кто-то действительно делает? это не вымышленный пример?

Путь странный, но предположим. Он же все равно не решает других проблем. Как миграцию БД делать при деплойменте допустим?

все равно нужно заходить на сервер и руками запускать скрипты будет.

zigmund
20.11.2017
05:52:55
все равно нужно заходить на сервер и руками запускать скрипты будет.
Что у вас миграция? При деплое запустить несколько альтеров?

Alexey
20.11.2017
05:56:43
Что у вас миграция? При деплое запустить несколько альтеров?
при активной разработке часто меняется схема БД, иногда нужно данные конвертировать перед стартом приложения, потому что иначе новый код упалет при работе с БД.

Я сейчас использую capistrano для всего этого, по сути он позволяет просто выполнять через ssh команды на сервере. Но капистрано не был сделан для докерезированных приложений т я использую костыли, что мне не нравится.

Admin
ERROR: S client not available

zigmund
20.11.2017
05:59:43
ну либо "конвертировать перед стартом приложения", что вполне можно сделать в контейнере либо в стек напилить отдельный сервис-мигратор с рестарт полиси: ноне - будет отрабатывать один раз при деплое стека и все

Google
Alexey
20.11.2017
05:59:44
Еще знаю что кто-то использут ansible для деплоя, но по мне тоже так себе решение... ронятно что им все можно делать, но лучше он подходит для начальной настройки серверов.

Дмитрий
20.11.2017
05:59:45
Возьмите какую нибудь тулу для миграций вроде liquibase положите в контейнер и дергайте перед стартом приложения, например.

Alexey
20.11.2017
06:01:19
Возьмите какую нибудь тулу для миграций вроде liquibase положите в контейнер и дергайте перед стартом приложения, например.
Тула есть уже. Да я думал про то чтобы просто добавить миграцию в энтрипоинт. Просто хочу понять какие бест практис тут

Мне не нравится заходить на сервер и исполнять команды там, а docker -H по сути еще больший оверхед. Есть же ssh протокол для таких вещей.

может мне конечно мешает мой прошлый опыт чтобы принять это ?

zigmund
20.11.2017
06:04:01
Мне не нравится заходить на сервер и исполнять команды там, а docker -H по сути еще больший оверхед. Есть же ssh протокол для таких вещей.
ссх - это как раз оверхед и костыль, у докера есть апи, по которому cli с демоном (докальным или удаленным) общается

Alexey
20.11.2017
06:04:02
неужели все заходят на сервер и руками делают docker....

Aleksey
20.11.2017
06:04:57
неужели все заходят на сервер и руками делают docker....
ничто не мешает открыть апи докера наружу

zigmund
20.11.2017
06:06:38
2375|2376|var/run/docker.sock - это хттп сервер апи

можно порт открыть, можно tls прикрутить, можно вообще какой-нить фронтенд поставить с http basic auth

вариантов куча

Alexey
20.11.2017
06:08:02
ссх - это как раз оверхед и костыль, у докера есть апи, по которому cli с демоном (докальным или удаленным) общается
ну для этого нужно сертификаты засетапить, что просто лишнее действие по сравнению с shh.

но я понимаю, да профит есть. хочется сделать максимально просто

zigmund
20.11.2017
06:08:39
ssh - тоже вариант по ключам авторизацию и в путь

но таки правильнее - через апи

Alexey
20.11.2017
06:13:34
ssh - тоже вариант по ключам авторизацию и в путь
ну я по сути сейчас ssh через капистрано и использую, но сам тул имеет недостатки?

Дмитрий
20.11.2017
06:20:12
неужели все заходят на сервер и руками делают docker....
А почему вы руками деплоите в прод? Может стоить делегировать это ci/cd серверу, и прокопать только одну дырку с конкретного хоста, не выставляя порт всем наружу.

Alexey
20.11.2017
06:39:11
А почему вы руками деплоите в прод? Может стоить делегировать это ci/cd серверу, и прокопать только одну дырку с конкретного хоста, не выставляя порт всем наружу.
CD тоже надо настравивать, да, я большой сторонник этого, тем более что на gitlab можно деплоить по нажатию кнопки, а не автоматом, что было бы удобно для большего контроля при деплое на продакшен, в общем то это все в одном пуле задач. И да в этом случае острота проблемы уйдет.

Google
Dmitry
20.11.2017
13:09:51
кто-то решал задачу сделать разнесенный по дц режистри?

Alexey
20.11.2017
17:11:41
кто-то решал задачу сделать разнесенный по дц режистри?
А какие требования? Нужно чтобы этот регистри был просто доступен из всех ДЦ? Данные при этом могут в одном ДЦ хранится? Если так то overlay network над swarm поможет.

Alexey
20.11.2017
17:16:50
а как связан сварм и реджистри?..
Нужные сервера в разных ДЦ объединяются в swarm, поверх этого поднимается overlay network и в ней запускается регистри на одной из нод. Тогда достук к нему будут иметь все ДЦ.

Sergey
20.11.2017
17:18:15
эм, а по сети без сварма до реджистри в другом датацентре вообще нельзя дойти?..

Страница 413 из 610