
Daniel
30.03.2017
06:18:23
А у меня монолит и задача стоит, чтобы проект так же собирался в один клик
Я просто вижу, когда используют докер как очень быструю деплой-машинку
В монолитах

Aion
30.03.2017
06:19:15
вы описали что у вас там куча сервисов

Google

Aion
30.03.2017
06:19:50
один контейнер = 1н сервис


Daniel
30.03.2017
06:46:25
Ну куча сервисов, но докер был бы крут (с моим текущим понимаем дел) для меня если только у меня:
1.один проект использует монго + nodejs
2.второй python django + uwsgi + nginx + elastic + postgres
3.третий php7-fpm, supervisor, rabbit, gearman
И ситуация такая, что все 3 надо запустить на одной машине
Вопрос тут в том, когда докер использовать НЕ нужно?
Вот если ситуация, что у меня только один из этих проектов работает на машине и ему не нужна изоляция лишняя, как и сопутствующим сервисам, потому что их 100% будет использовать только проект на PHP (ибо других проектов на машине никогда не будет). Тогда получается из плюсов докера остается лишь возможность в один миг собрать проект на машине нового разработчика или на любой потенциальной ноде + в случае краха быстро восстановить работоспособность? Просто если отпадает необходимость в контейнерах, тогда зачем мне лишний слой докерский чисто для деплоя,ведь по-любому же есть какие-то минусы в плане потребления ресурсов оперативной памяти и жесткого места на диске, которые без изолированности ничем не могут оправдываться?


Evgeny
30.03.2017
06:47:36
Докер не нужен, когда ты не знаешь что с ним делать. В эмбедеде он вряд ли пригодится.
В десктопаппах


Сергей
30.03.2017
06:48:32
Ну куча сервисов, но докер был бы крут (с моим текущим понимаем дел) для меня если только у меня:
1.один проект использует монго + nodejs
2.второй python django + uwsgi + nginx + elastic + postgres
3.третий php7-fpm, supervisor, rabbit, gearman
И ситуация такая, что все 3 надо запустить на одной машине
Вопрос тут в том, когда докер использовать НЕ нужно?
Вот если ситуация, что у меня только один из этих проектов работает на машине и ему не нужна изоляция лишняя, как и сопутствующим сервисам, потому что их 100% будет использовать только проект на PHP (ибо других проектов на машине никогда не будет). Тогда получается из плюсов докера остается лишь возможность в один миг собрать проект на машине нового разработчика или на любой потенциальной ноде + в случае краха быстро восстановить работоспособность? Просто если отпадает необходимость в контейнерах, тогда зачем мне лишний слой докерский чисто для деплоя,ведь по-любому же есть какие-то минусы в плане потребления ресурсов оперативной памяти и жесткого места на диске, которые без изолированности ничем не могут оправдываться?
плюс в том, что можно поднять рабочий контейнер на любой машине не ориентируясь на окружение (ну почти). Я вот докер юзаю когда гоняю тесты. На прод без докера и разрабатываю без докера. Но остальные ребята под докером сидят


Aleksey
30.03.2017
06:57:18
Ну куча сервисов, но докер был бы крут (с моим текущим понимаем дел) для меня если только у меня:
1.один проект использует монго + nodejs
2.второй python django + uwsgi + nginx + elastic + postgres
3.третий php7-fpm, supervisor, rabbit, gearman
И ситуация такая, что все 3 надо запустить на одной машине
Вопрос тут в том, когда докер использовать НЕ нужно?
Вот если ситуация, что у меня только один из этих проектов работает на машине и ему не нужна изоляция лишняя, как и сопутствующим сервисам, потому что их 100% будет использовать только проект на PHP (ибо других проектов на машине никогда не будет). Тогда получается из плюсов докера остается лишь возможность в один миг собрать проект на машине нового разработчика или на любой потенциальной ноде + в случае краха быстро восстановить работоспособность? Просто если отпадает необходимость в контейнерах, тогда зачем мне лишний слой докерский чисто для деплоя,ведь по-любому же есть какие-то минусы в плане потребления ресурсов оперативной памяти и жесткого места на диске, которые без изолированности ничем не могут оправдываться?
Ну минусы преувеличены, а вообще направление мысли верное - деплои. Здесь уже у каждого своя схема. Но рано или поздно приходишь к ситуации, когда становится крититично откатится на предыдущую версию. Если у вас вариант blue-green деплоймента, то есть по очереди деплоите то в один локейшен, то в другой, проблемы отката на предыдущую версию нет и пожалуй докер будет оверхедом. Второй важный момент - правится ли в таком случае ручками что-либо на сервере - как минимум теже питоновские либы для джанго проект. Разумеется, есть виртуаенв, реквайраментс, но со времени на сервер ставится что-то кастомное и невозможно гарантировать, что дев окружение у вас совпадает с прод окружением ну и самый критичный вариант - умер физический сервер и надо в короткие сроки это все восстановить, доекр позволяет этим не заморачивает в докер имадж у вас необходимое и достаточное окружение


ptchol
30.03.2017
07:00:41

Anatoly
30.03.2017
07:07:56

ptchol
30.03.2017
07:14:27

Anatoly
30.03.2017
07:16:13
Эмуляторы не спасают
А я правильно понимаю что девелоперы запускают андроид аппы чтобы оттестить перед тем как кактить это в плэй? Правильно?

Google

Anatoly
30.03.2017
07:16:58
Если так то вам в сторону риал девайсов. У фб свой стэк собран например. Ну и куча контор даёт риал клауд для таких нужд.

ptchol
30.03.2017
07:23:50
Но бабла не напасешься )

Anatoly
30.03.2017
07:25:19
Но ладно. Не о том речь

John
30.03.2017
09:27:28

Dmitry
30.03.2017
11:44:56
Всем привет! Возник вопрос по docker.
есть docker-stack конфиг, который раскидывает сервисы по хостам в swarm.
Есть несколько сервисов, которые expose один и тот же порт наружу, но я вручную раскидываю их на разные хосты
ports:
- "27017:27017"
deploy:
placement:
constraints: [node.role == machine1]
ports:
- "27017:27017"
deploy:
placement:
constraints: [node.role == machine2]
при попытке деплоя такой конфигурации получаю
docker@manager:~$ docker stack deploy --compose-file docker-stack.yml rating-service
Creating service rating-service_mongodb-arbiter
Error response from daemon: rpc error: code = 3 desc = port '27017' is already in use by service 'rating-serivce_mongodb-master' (emwd7zpyn1p8bex0ak2e2d7qi)
чяднт? почему так, если разные машинки?

Victor
30.03.2017
11:47:51
какая-то из машин должна занять порт хостовой машины отличный от 27017
не понятно?

Askhat
30.03.2017
12:11:51
Всем привет. Нужен совет. Есть приложение на Django, которое использует PostgreSQL как БД. Нужно ли ставить PostgreSQL в отдельный контейнер и приложение так же в отдельном контейнере. Либо ставить PostgreSQL на голом железе и делать проброс портов к контейнеру приложения. Спасибо заранее

Anatoly
30.03.2017
12:13:03


Askhat
30.03.2017
12:24:58
ты сам ответил на свой вопрос. выбирай что больше нравится
Я смотрел видео с конференции MoscowPython где Антон Егоров из компании Островок рассказывал про докеризацию приложений. Там он говорил о том, что БД докеризировать не рекомендуется, но подробно об этом не рассказал. Может быть есть варианты почему он так предложил?
Вот есть видео: https://youtu.be/X2jlKUHbepY?t=55m47s

Aleksey
30.03.2017
12:29:12

Askhat
30.03.2017
12:29:14
Может быть он не прав? Я просто не компетентен в этом еще, поэтому прошу вашей помощи)

Anatoly
30.03.2017
12:29:44

Aleksey
30.03.2017
12:29:46

Google

Anatoly
30.03.2017
12:30:06

Aleksey
30.03.2017
12:31:29
У убера саксес стори с докеризацией мускуля

Anatoly
30.03.2017
12:32:06
Не понял к чему это?
у постгре есть саппорт. саппорт не предоставляет поддержки докерризированного постгре

Aleksey
30.03.2017
12:32:49
Так а в чем проблема, ентрайпоинт написать?

Anatoly
30.03.2017
12:33:21

Askhat
30.03.2017
12:34:32
Окей. Я так понял, что лучше всего не докеризировать базу. Теперь вопрос следующий. Как пробросить порт с хоста в контейнер, чтобы Django нашёл эту базу?

Aleksey
30.03.2017
12:35:29

Anatoly
30.03.2017
12:36:22

Alexander
30.03.2017
12:36:30

Anatoly
30.03.2017
12:36:31
если локалхост то там немного сложнее

Aleksey
30.03.2017
12:36:35

Askhat
30.03.2017
12:37:21

Anatoly
30.03.2017
12:37:49

Aleksey
30.03.2017
12:38:09

Askhat
30.03.2017
12:38:13

Aleksey
30.03.2017
12:38:28
А сколько шард?
Меньше 10 имхо все равно проще без докера

Anatoly
30.03.2017
12:47:00
Сделать например шардинг между базами
ну берешь две тачки ставишь на них базу - все полетели.
или берешь одну тачку прибиваешь порты раскладываешь сокеты - все полетели.
как то так.
если у тебя задача стоит запускать шардированный постгре в доккере то это рисковая идея как по мне.

Google

Askhat
30.03.2017
12:47:56
Если я хочу запустить например одну базу на хост машине и там же хочу развернуть контейнер для легковесного приложения? Как мне базу пробросить на контейнер?

Anatoly
30.03.2017
12:48:50

Askhat
30.03.2017
12:49:06
Как? У контейнера же свой нетворкинг?

Aleksey
30.03.2017
12:50:32

Anatoly
30.03.2017
12:50:44
если у тебя база слушает на локалхосте то прибиваешь на машине (не в контейнере) /etc/hosts base.for_application.com а приложению отдаешь днс. хуево грязно но будет работать
днс то оно резолвит
вообще конечно звучит так будто

Admin
ERROR: S client not available

Anatoly
30.03.2017
12:53:56
Докер не нужен, когда ты не знаешь что с ним делать. В эмбедеде он вряд ли пригодится.

Aleksey
30.03.2017
12:58:32

Andrey
30.03.2017
13:06:16
но зачем это делать в онлайн чятеге?

Dmitry
30.03.2017
13:37:41

John
31.03.2017
11:20:03
Привет всем! Не нашел информацию про то, как работает одновременный read/write в volume, если работают несколько контейнеров. Может можно конфигурировать (например, транзакционно, с помощь локов и т. д.)?

Anatoly
31.03.2017
13:50:52
прикольные идеи у людей в пятницу...

John
31.03.2017
13:51:38

Roman
31.03.2017
13:51:46
Ы

Anatoly
31.03.2017
13:52:14

John
31.03.2017
13:54:17

Google

John
31.03.2017
13:54:46
Пока не знаю. Поэтому и спросил.

Anatoly
31.03.2017
13:55:55
я не буду тебя отговаривать от твоей задумки. но отношусь к ней скептически

Andrey
31.03.2017
14:03:45
а чё в compose так и не завезли каких нибудь нормальлных зависимостей для старта?

John
31.03.2017
14:04:22
или может даже rsync?

Anatoly
31.03.2017
14:06:23

Andrey
31.03.2017
14:06:59
ну да, толку то от того что контейнер стартовал
да пичалька

Anatoly
31.03.2017
14:07:53
в трехе было что то что умело проверять порт конейнера. или может мне привидилось.

John
31.03.2017
14:09:01

Anatoly
31.03.2017
14:09:48
посмотри в сторону nfs, nfs кладешь на локальную тачку, контейнеры ходят на нее через аин вольбма на фс. все
ну или iscsi у доккера есть драйвер к iscsi
есть товарищи которые посоветовали бы какой нибудь глустер с коросинком. но это прям реально упороться надо

John
31.03.2017
14:13:06

Aleksey
31.03.2017
14:31:59

Anatoly
31.03.2017
14:32:54
Это для другого
видал я и таких, которые вольюмы между нодами глустером синкали. им было норм..

Askhat
31.03.2017
16:03:49
Когда файлы проекта изменились в сервисе, нужно ли делать повторно build?
Или можно просто volume указать на весь проект и не делать build?