
Yegor
20.09.2016
14:15:36
>Кто что думает о правильности маунтинга на проде? Легально ли? Или на проде всё должно быть внутри image?
По хорошему в самом докерфайле не стоит маунтить volume. Лучше сделайте себе два конфига docker-compose, один для прода, один для дев енвайронмента и во втором уже прописываете volume с сырцами.
типа docker-compose up -f development.yml

Dmitry
20.09.2016
14:22:57
смотря что маунтить

Yegor
20.09.2016
14:23:42
Я так понимаю речь шла о сырцах, потому что автор комментария как-то стыдился этого.

Google

N
20.09.2016
14:25:20
зачем маунтить исходники, если весь смысл контейнера в иммутабельности

Yegor
20.09.2016
14:25:57
Многие разрабы на скриптовых языках так делают чтобы не терять интерактивности

N
20.09.2016
14:26:16
ну не в продакшене же
в продакшене вообще никакой интерактивности быть не может

Alex
20.09.2016
14:27:30
А как насчет файлопомойки/хранилища для бд? Их принято маунтить с хоста?

Yegor
20.09.2016
14:27:41
Да
Посмотрите имадж PostgreSQL
например

Artur
20.09.2016
14:27:51
подскажите, я правильно понимаю, что когда я у демона выключаю iptables, мне нужно самому разруливать NAT в iptables? стандартных правил для заворачивания в подсеть (и из подсети) для docker0 не будет создаваться?

Dmitry
20.09.2016
14:27:59
@netoneko всё верно говорит

Yegor
20.09.2016
14:28:03
иначе при перезапуске контейнера данные исчезнут

Dmitry
20.09.2016
14:28:05
в продакшн образ это вещь в себе
сырцы должны быть в нём. Маунтить их следует на дев-енвах

Google

Artemiy
20.09.2016
14:28:18
На самом деле, вопрос о том, маунтить ли конфиги и TLS сертификаты :D

N
20.09.2016
14:28:40

Artemiy
20.09.2016
14:28:53
Вот, мне кажется, что это не очень правильно

Dmitry
20.09.2016
14:28:56
смотря какие конфиги :)

N
20.09.2016
14:28:57
если они не задаются через env variablesm то выхода нет

Artemiy
20.09.2016
14:29:16
В image их запечь

Dmitry
20.09.2016
14:29:23
да, лучше всего через енвы их подать контейнеру

Yegor
20.09.2016
14:29:24
А почему при билде нельзя их в засунуть?

Dmitry
20.09.2016
14:29:30
чтобы образ про них ничего не знал

N
20.09.2016
14:30:17
как-то не очень идея
да и вообще один образ должен работать во всех условиях

Artemiy
20.09.2016
14:31:04
Нет, если docker-registry свой

N
20.09.2016
14:31:07
и стейджинг, и продакшен
ну если свой, то можно в build args сунуть, например

Artemiy
20.09.2016
14:31:27

N
20.09.2016
14:31:29
но тоже непонятно, зачем
при изменении конфигурации пересобирать образ - странный подход
сделать редеплой - еще норм

Evgeny
20.09.2016
14:32:17

Google

Evgeny
20.09.2016
14:32:26
а как иначе откатиться прозрачно?
у меян - просто деплойнуть прошлую версию

N
20.09.2016
14:32:45
сделать деплой со старой конфигурацией

Evgeny
20.09.2016
14:33:03
которую возмешь откуда?

N
20.09.2016
14:33:11
так смена конфигурации и смена образа - разные вещи
код-то ты не поменял
с чего бы образу меняться

Evgeny
20.09.2016
14:33:30
и что? настрйоки то поменял - а они в образе
или что поразумевается под настрйокаи?

N
20.09.2016
14:33:45
а почему они в образе, если они не имеют отношения к коду?
у тебя разные образы для стейджинга и продакшена? зачем, например?

Evgeny
20.09.2016
14:35:07
если это как-то затрагивает контейнер - таймаут например 0 я пересоберу новую версибю

N
20.09.2016
14:35:40
тогда у нас недопонимание

Evgeny
20.09.2016
14:35:43
у меня на стейдже полностью повтороена среда прода только база другая и меньше инстансов

N
20.09.2016
14:35:56
где хранится адрес базы, например?
не внутри контейнера же

Evgeny
20.09.2016
14:36:12
в сырцах. и выглядит он как mongo.discovery

N
20.09.2016
14:36:16
аа

Google

N
20.09.2016
14:37:32
ну у тебя другой подход просто, один образ, а настройки отданы на откуп дискавери, а не передаются явно

Evgeny
20.09.2016
14:37:54
я вдруг понял о чем ты, да, у нас недопонимание.

Admin
ERROR: S client not available

N
20.09.2016
14:38:08
я говорил про другой случай, когда настройки передаются явно, тогда они должны быть в виде env variables или примонтированного конфига

Evgeny
20.09.2016
14:38:33
лучше как енв имхо

N
20.09.2016
14:38:45
ну естественно
но не все приложения поддерживают

Artemiy
20.09.2016
14:38:50
Да, такие настройки, в env
А например virtual hosts в nginx?

Evgeny
20.09.2016
14:39:05
ну вот у меня есть нгинкс
я передаю ему настройки резолвера энвами. при запуске он собирает верный конфиг башем и запускается

N
20.09.2016
14:39:46
да, отличный подход

Павел
20.09.2016
15:24:47
Коллеги, немного не по теме, но по теме =) Я тут конвертировал unix timestamp (1474384973), и с ужасом осознал, что он начинается аж с 14. И понял, что отчетливо помню timestamp'ы примерно с 12... х. А кто какие помнит? ;)
Быстрый расчет показывает, что одна цифра в этой позиции равна примерно 3 годам =)

Pavel
20.09.2016
15:26:11
Я помню 1234567890
Это был первый и последний раз когда я вообще обращал внимание на цифры в таймстампе
А еще кажется было время Пи 1415926..

Andrey
20.09.2016
15:31:52
а ещё они кончатся

Lad
20.09.2016
16:40:29
https://habrahabr.ru/company/hexlet/blog/248519/
Кто подскажет, это еще актуально или там подкрутили уже в докере?

Evgeny
20.09.2016
16:40:51
Актуально

Google

Lad
20.09.2016
16:42:25
как в статье?

Evgeny
20.09.2016
16:43:00
Я уже не помню как там. Я решаю просто - держу один процесс в контейнере
А если нужно несколько - всякие смеллбароны и тд

Phil
20.09.2016
16:48:05
И нет движения по этому вопросу?

Evgeny
20.09.2016
16:55:56
Они говорили вроде что не хотят
Можно мейнтейнера спросить

Alex
20.09.2016
17:24:32
Братва, это официальное сообщество?

Evgeny
20.09.2016
17:24:44
Ходят слухи

N
20.09.2016
17:26:28
или supervisor какой-нибудь, но зачем