
Eugene
03.01.2017
00:33:44
Volumes are not 'part' of a container
я эт скопировал откуда-то)

Evgeny
03.01.2017
01:13:52
Ну и вообще название содержащее volumes должно было натолкнуть на мысль человека который таки прочитал ман по докеру, как грозился ранее

Google

Andrey
03.01.2017
01:44:29
ты всё же надеешься что он прочтёт доку? :)


Виталий
03.01.2017
06:41:16
а причем здесь волюмы?
У меня код должен быть в контейнере и храниться в регистри чтобы в любой момент я смог его развернуть на продакшене.
и я писал выше, что у меня два контенера а не контейнер и волюм
мда, там куча волюмов у меня как раз с моими данными. Неделя работы коту под хвост.
Я рассчитывал, что если я монтирую раздел из одого контейнера в другой, то не создается внешний волюм, а монтируемый раздел находиться внутри контейнера. Это было бы логичее. Так как если бы мне нужен был волюм - я бы создал именованый волюм со всеми вытикающими.
Ок. Тогда вернемся на неделю раньше.
Задача.
Есть код приложения который должен пройти 3 стадии:
1. Клон из системы контроля версий
2. Установка компонентов через менеджер пакетов
3. Конфигурирование
Все это делается рядом команд. Теперь это код рабочего приложения.
Далее этот код должен быть доступен одновременно двум контейнерам nginx и php.
И так же, этот код должен быть легко портируемый из хранилища на продакшен. Так как я настраиваю систему автоматической сборки и доставки на прод.
Подскажите варианты как это организовать и где хранить собранный код?


Yaroslav
03.01.2017
06:58:03
хотел, написать грубо и с сарказмом НО пообещал жене что попытаюсь хотя бы неделю в новом году общаться с людми так как она называет "нормально".
итак, ты же понимаешь разницу между deploy и delivery?
я к тому что засовывать конфиги конкретной среды в образ - нельзя

Alexey
03.01.2017
06:59:28


Виталий
03.01.2017
06:59:38
Хм...чисто теоретически могу предположить, впервые окунаюсь в эту тему
бОльшая часть гитхаба пошла по легкой тропе и все хранит в одном контейнере. Я не считаю это правильным просто. ИМХО

Alexey
03.01.2017
07:02:04
Минусы то можешь хоть назвать? :)

Google

Alexey
03.01.2017
07:02:18
Или тебе "кто-то сказал" ? :)
Нужно смотреть по ситуации, потому что сам выбирай, шашечки или ехать

Виталий
03.01.2017
07:03:24
сказал. Дока докера. Или это не авторитет?

Yaroslav
03.01.2017
07:05:05
делаешь чекаут кода
делаешь докер билд
делаешь докер пуш
докер ран, делаешь каким-нить образом что бы пробросить настройки окружения

Виталий
03.01.2017
07:05:47
из минусов - отсутствие масштабирования. Для девелопмента "все в одном" работает. Для продакшена я бы так не делал.

Semyon
03.01.2017
07:06:28
Ты уверен, что речь про исходники в контейнере вообще?

Виталий
03.01.2017
07:06:43

Semyon
03.01.2017
07:06:50
Дока докера рекомендует не запускать много процессов в одном контейнере

Yaroslav
03.01.2017
07:07:14
все в одном, это когда у тебя и базаданных и код и fe
в одном

Виталий
03.01.2017
07:07:22

Semyon
03.01.2017
07:07:49
Дак сделай разные контейнеры, делов-то, зачем тебе вольюмы шарить?

Виталий
03.01.2017
07:08:03
Пфф... я так и сделал
а ничерта не работает :)

Semyon
03.01.2017
07:08:15
Собери их в сетку и пусть разговаривают

Виталий
03.01.2017
07:08:46
у меня была простая идея - запаковать код в контейнер и хранить его в регистри.

Alexey
03.01.2017
07:08:48

Semyon
03.01.2017
07:09:19

Виталий
03.01.2017
07:09:22

Google

Виталий
03.01.2017
07:09:46

Yaroslav
03.01.2017
07:09:46
php-fpm + код, это хорошо!
php-fpm + nginx + mysql + redis в одном контейнере плохо!

Semyon
03.01.2017
07:09:50
Если он там уже есть, Дак пусть он там и бежит

Yaroslav
03.01.2017
07:10:01
код не нужен нескольким контейнерам

Виталий
03.01.2017
07:10:08
нужен

Semyon
03.01.2017
07:10:13

Yaroslav
03.01.2017
07:10:14
код нужен в нескольких контейнерах
это разные вещи ;)
код это часть прилаги, не нужно его в вольюм

Alexey
03.01.2017
07:11:03
Я тебе не предлагаю заворачивать 100500 процессов в контейнере, но если ты пыху и нжинкс только юзаешь, то в чем боль то?

Виталий
03.01.2017
07:11:33
nginx + code = отдача статики
php + code = обработка пхп файлов
Это у меня так. Но могут быть и любые другие ситуации.
Опираться на то, что код всегда нужен будет только одному контейнеру ошибочна изначально.

Yaroslav
03.01.2017
07:11:35

Semyon
03.01.2017
07:12:09

Yaroslav
03.01.2017
07:12:33

Semyon
03.01.2017
07:12:37
Тебе нужны несколько разных контейнеров с одним и тем же кодом?
Собери несколько разных образов с одним и тем же кодом

Виталий
03.01.2017
07:12:50

Alexey
03.01.2017
07:13:07

Виталий
03.01.2017
07:13:24

Alexey
03.01.2017
07:13:45
Оф образ гитлаба

Google

Alexey
03.01.2017
07:13:50
Сходи сам плиз

Yaroslav
03.01.2017
07:14:06
офф образы часто говно

Alexey
03.01.2017
07:14:21
Ага :)

Yaroslav
03.01.2017
07:14:25
к счастью или сожалению

Виталий
03.01.2017
07:14:27

Alexey
03.01.2017
07:14:29
Твои только не говно :)

Semyon
03.01.2017
07:14:57

Виталий
03.01.2017
07:14:57
Гитбал сделал так, как было бы удобно пользователям. Они ориентированы на клиента.

Semyon
03.01.2017
07:15:13
Камон, мы в 2017 году

Admin
ERROR: S client not available

Semyon
03.01.2017
07:15:33
Неоптимально устраивать комбинаторный взрыв на ровном месте

Виталий
03.01.2017
07:15:46
а если надо будет в 3-4 контейнера?

Yaroslav
03.01.2017
07:15:58

Semyon
03.01.2017
07:16:01
Ну Дак не дублируй весь код
Разберись какой кому

Виталий
03.01.2017
07:17:01
не позволяет архитектура, проект на лету может статику генерить.
так, я понял. Есть еще варианты?

Yaroslav
03.01.2017
07:17:22
ну для nginx не обязательно делать composer install
потом разнешеь

Google

Виталий
03.01.2017
07:18:57
Пока самый допустимый вариант это дублировать код по контейнерам.

Semyon
03.01.2017
07:19:20

Виталий
03.01.2017
07:19:41
Да не хочу я плевать. У меня не задача за которую мне платят бабло и надо сделать быстре и проще.

Semyon
03.01.2017
07:19:56
А, тогда ещё круче

Yaroslav
03.01.2017
07:20:00
не потдавайся, на провокации. Делай в два имаджа

Semyon
03.01.2017
07:20:03
Меняй архитектуру

Виталий
03.01.2017
07:20:05
Я хочу вот сделать самым сложным способом.

Semyon
03.01.2017
07:20:13

Виталий
03.01.2017
07:20:15
:)

Semyon
03.01.2017
07:20:26
Я серьёзно вполне

Виталий
03.01.2017
07:20:29
немного легче надо... на контейнерах только :)

Semyon
03.01.2017
07:20:38
Докер диктует требования к коду, на самом деле

Yaroslav
03.01.2017
07:20:48
если вдруг пойдут пользователи, ты как нехер поднимишь еще 2-3 контейнера с php

Виталий
03.01.2017
07:21:01
архитектура норм. То, что проект генери кеши в процессе работы это нормально.
asset файлы и прочее

Yaroslav
03.01.2017
07:21:29
и это все должно быть в контейнере

Виталий
03.01.2017
07:21:40
приложение то живое :)) и отдача статики должна работать в паре с бизнес логикой

Semyon
03.01.2017
07:21:43
Потому что с точки зрения докера бэк и фронт это разные контейнеры, которые должны друг с другом говорить по http
Но никак не через вольюмы

Виталий
03.01.2017
07:23:18
почему?
а... хотя ясно чего