@ru_docker

Страница 315 из 610
Daniel
30.03.2017
06:18:23
А у меня монолит и задача стоит, чтобы проект так же собирался в один клик

Я просто вижу, когда используют докер как очень быструю деплой-машинку

В монолитах

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

Google
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:16:13
Эмуляторы не спасают
А я правильно понимаю что девелоперы запускают андроид аппы чтобы оттестить перед тем как кактить это в плэй? Правильно?

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

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

Anatoly
30.03.2017
07:25:19
Но бабла не напасешься )
Ну я так понимаю риал Клауд на этом и выезжает да

Но ладно. Не о том речь

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
Может подскажете?. Заранее большое спасибо.
тебе подсказать как делать вольюмы? или как сделать так чтобы хроме ходил в общий кэш без локов? в чем вопрос то?

Но бабла не напасешься )
кстати https://aws.amazon.com/device-farm/

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

Вот есть видео: https://youtu.be/X2jlKUHbepY?t=55m47s

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

Aleksey
30.03.2017
12:29:46
Google
Anatoly
30.03.2017
12:30:06
Докеризуется, посмотрите опыт Uber
которые уехали на мускл? отличный опыт

И прав и неправ - проблема в шаред сторадже
а еще если у них саппорт куплен то постгре не саппортит себя в доккере...

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 нашёл эту базу?

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

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

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
Как? У контейнера же свой нетворкинг?
https://docs.docker.com/compose/compose-file/#extrahosts

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
но зачем это делать в онлайн чятеге?

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
и как ты собираешься гарантировать отсутсвие рейс кондишена
Вот этом и речь. Как сделать? Прочитал про volume drivers, подумал про транзакционные и журнальные файловые системы.

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
я не буду тебя отговаривать от твоей задумки. но отношусь к ней скептически
Понимаю. Альтернативой вижу использование resilio или syncthing между контейнерами. Но очень хорошо было бы если б через volume. Если я правильно понял, resilio и syncthing обеспечивают кое-какой ACID.

или может даже rsync?

Anatoly
31.03.2017
14:06:23
а чё в compose так и не завезли каких нибудь нормальлных зависимостей для старта?
ну там есть зависимость от контейнера начиная, вроде с 2.1 но то что сервис должен быть ап и раннинг оно вроде так и не научилось проверять. или вы не про те зависимости

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

да пичалька

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

или может даже rsync?
чувак пиши еще.

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

ну или iscsi у доккера есть драйвер к iscsi

есть товарищи которые посоветовали бы какой нибудь глустер с коросинком. но это прям реально упороться надо

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

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

Или можно просто volume указать на весь проект и не делать build?

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