@ru_docker

Страница 138 из 610
Evgeny
03.09.2016
17:17:46
который запускает контейнер с субд (тот еще моветон) и потом контейнер с докером

Alexander
03.09.2016
17:17:48
https://github.com/docker/compose/issues/374

Алексей
03.09.2016
17:18:06
там есть depend_on который не полагается на хелсчеки

но они это исправят

Google
Алексей
03.09.2016
17:19:24
и вариант с хелсчеами сильно правильее запуска через системд поскольку позволяет гарантировать порядок запуска

Alexander
03.09.2016
17:19:29
через systemd это всё организуется более красиво, чем через .sh

Evgeny
03.09.2016
17:19:34
нет

Алексей
03.09.2016
17:19:36
и запускать только когда действительно база стартовала

сейчас через системд нельзя сказать работает ли база или нет

Alexander
03.09.2016
17:21:03
в докере можно выделить ресурсы на пачку контейнеров сразу? нет

Алексей
03.09.2016
17:21:14
да можно

Alexander
03.09.2016
17:21:29
без systemd?

Алексей
03.09.2016
17:21:53
причем тут вообще системд то ?

Alexander
03.09.2016
17:22:27
ну, вы писали, что баг скрипты лучше systemd, я просто не знаю, как в таком случае сделать ограничение ресурсов сразу на группу контейнеров

Евгений писал

допустим, я хочу выделить 2 гигабайта оперативки на 3 контейнера, запуская через баш-скрипт я могу так сделать?

я не уверен до конца, но думаю, что без systemd тут не обойтись

Google
Алексей
03.09.2016
17:24:08
cgroup-parent

при чем тут систем д ? будт бы он вообще какое то отношение имеет к ограничению ресусов

Alexander
03.09.2016
17:26:31
ну, через него удобнее

а тут как? через cgmanager ?

Алексей
03.09.2016
17:26:40
сравнится по удобству пользования с compose файлом будет действительно сложно

как ты создашь группу пофиг. хоть файлами. хоть командами.

Alexander
03.09.2016
17:33:14
с точки зрения удобства деплоя, наверное, было бы удобнее это делать конфигами

и тут в целом, наверное, не так важно, что это будет - пачка .service/.target/.slice или compose

Алексей
03.09.2016
17:36:27
конфигурауция ямлом удобнее. сильно снижает погор входа в конфигурирование чего угодно

Alexander
03.09.2016
17:36:55
у меня есть ещё 1 вариант деплоя, он даже прикольнее

Алексей
03.09.2016
17:36:56
если бы sendmail конфигурировался ямлом до сих пор жил бы.

Alexander
03.09.2016
17:37:34
суть в том, что если меняются лишь версии - можно сделать 1 версию и тащить всегда только её

и 2 репозитория

Evgeny
03.09.2016
17:37:40
Но тогда бы пропал целый пласт исскуства

Alexander
03.09.2016
17:38:01
в 1 пушится все версии вообще, в другой только та, которую надо отправить на продакшен

таким образом, при обновлении не меняем эти конфиги на сервере

вы вообще какой вариант используете?

вы поняли, о чём я спросил? ?

вариант 1: у вас на сервере есть конфиг (compose , .service или что угодно), где указаны версии образа контейнера, обновилась версия - вы меняете этот конфиг вариант 2: у вас на сервере есть конфиг, где указана всегда одна и та же версия образа контейнера, обновилась версия - вы меняете её в репозитории (например, копируете из другого репозитория)

Semyon
03.09.2016
17:46:53
1

Google
Алексей
03.09.2016
17:47:48
1.

ибо 2 глупо и не идемпотентно

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

Alexander
03.09.2016
17:49:33
2 вариант не запрещает версионировать

то есть у вас 2 репозитория, в одном разные версии, в другом лишь 1 версия, именно она и идёт на сервер

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

при этом конфиги на сервере остаются такие же

ну а перекинуть из 1 репозитория во второй проще, чем закинуть конфиги на сервер

Evgeny
03.09.2016
17:52:15
у меня свой хаб в котором хранится спец контейнер в которм в момент деплоя билдится версия редеплоера привязанная к конкретному тегу который деплоится

Alexander
03.09.2016
18:00:21
мой вариант деплоя, по-простому, схематически: у вас 2 репозитории, в первой что-нибудь типа: project/app:1.0 project/app:1.1 project/app:1.2 project/app:1.3 project/app:1.3.1 во второй просто 1 образ всегда project/app:na-berlin релиз-менеджер делает pull из первой репозитории, меняет тег на na-berlin и отправляет образ во вторую репозиторию если что-то не пошло и надо откатиться - аналогично, берём другую версию из первой репозитории, меняем тег, отправляем во вторую, тег во второй всегда будет na-berlin , конфиги на сервере всегда будут стягивать с тегом na-berlin

Алексей
03.09.2016
18:01:22
как узнать какая версия была задеплоена вчера ?

Alexander
03.09.2016
18:01:38
у меня это в админке

Alexander
03.09.2016
18:02:10
ну, то есть через docker exec cat ... можно вытащить (если лень открывать браузер и админку)

yopp
03.09.2016
18:06:43
в билд всегда надо версию вкладывать

Alexander
03.09.2016
18:08:05
вот этот вариант позволяет меньше трогать production-серверы

Phil
03.09.2016
18:09:22
хрена вы нафлудили

Алексей
03.09.2016
18:21:22
latest например да ?

Google
Timur
03.09.2016
18:29:52
Alexander
03.09.2016
18:49:39
latest например да ?
как latest, но другой по смыслу

latest означает последнюю версию

может, production

ptchol
03.09.2016
20:37:01
latest плоховато, лучше версии биндить

Alexander
03.09.2016
20:42:57
latest (как слово) плохо тем, что когда захочется откатиться на предыдущую версию, она будет уже не latest

поэтому лучше production или как-то так

ptchol
03.09.2016
20:47:48
поэтому лучше версии

и не долбать себе мозг

Alexander
03.09.2016
20:49:08
ээ, ну, я написал выше, какую проблему это решает

Admin
ERROR: S client not available

Alexander
03.09.2016
20:49:17
с версиями надо обновлять конфиги на серверах

а тут можно просто те же самые конфиги юзать

ptchol
03.09.2016
20:49:40
не надо

Alexander
03.09.2016
20:49:49
а как деплоить?

ptchol
03.09.2016
20:50:13
а как щас ?

Alexander
03.09.2016
20:51:11
ну, допустим, сейчас есть nginx.service и там запускается Docker , где указана версия team/repository:project1-nginx-production

если вместо слова production указать версию, то нужно будет обновлять nginx.service на новый nginx.service

с новой версией

ptchol
03.09.2016
20:52:14
слабый какой то пойнт

Google
ptchol
03.09.2016
20:52:21
ты же ходишь на сервера перезапускать

когда ты идешь знаешь что новая версия

и знаешь какую хочешь выкатить

можно передат ьи она стартанет

Alexander
03.09.2016
20:52:46
было 1.1, будет 1.2 и вот ради этого надо будет закачивать новый project-nginx.service на каждый сервер, где этот проект запущен

ptchol
03.09.2016
20:52:59
а юниты это хвост по хорошему

Alexander
03.09.2016
20:53:18
ну кто-то через compose запускает - аналогично же

я про то и говорю, что выгодно иметь 1 версию для продакшена

ptchol
03.09.2016
20:53:38
да да да

Alexander
03.09.2016
20:53:41
а не гонять конфиги с циферками

ptchol
03.09.2016
20:53:48
но мне кажется в будущем с докером должен быть шедулер

и ты не паришься на тему юнитов

он сам смотрит чтобы все это дерьмо работало

но если говорить про реальность то и так и так одинаково по сложности помоему

Alexander
03.09.2016
20:55:39
ну вот этот вариант с production требует лишь пульнуть нужную версию, переименовать в production и пушнуть снова

это можно сделать с обычного рабочего ноута

а перекидывать конфиги - это уже доступ на сервер нужен

ptchol
03.09.2016
20:57:03
так а перезапускается то он сам как ?

ты же все равно доступаешься и рестартишь

Alexander
03.09.2016
20:57:45
можно через крон, например, поставить скрипт, которые проверяет раз в 5 минут, есть ли новые версии

ptchol
03.09.2016
20:57:54
ужс какой

Alexander
03.09.2016
20:58:04
если в репозитории новые версии - он рестартит .target

ptchol
03.09.2016
20:58:41
билды отдельно деплои отдельно

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