Sergey
@protopopys можешь поподробнее?
Kirill
К сожалению я не знаю какие задачи ты решаешь, читал на хабре статью по поводу использования докера. Там ребята разбили всю задачу на мелкие этапы, после которых контейнер удалялся. Допустим собираем веб приложение на java. Node, для сборки фронта тянет просто вагон и маленькую тележку, затем все это кушает gradle и на выходе мы получаем варник. Можно весь данный процесс разбить на этапы и какой-нибудь teamcity будет дергать контейнеры с --rm
Sergey
если что, сборка из Dockerfile так и происходит. На каждую отдельную инструкцию создается промежуточный контейнер, который после выполнения инструкции удаляется.
Sergey
и то что ты описываешь используется зачастую что бы обойти ограничения вроде отсутствия возможности волумы прописывать.
Sergey
меня больше интересует способ делать это на уровне Dockerfile нежели несколько образов пилить
Kirill
Тогда вопрос к тебе, столкнулся с проблемой - если я прокидываю папку - /etc/** на хост, стартую софтину и получаю - Failed to find config filename/ Если же ничего не прокидываем то все ок, просто ошибка в конфиге (т.к дефолтный) - Please correct the configuration in /etc/**/**.conf
Sergey
то есть ты волум прокидываешь с хоста в контейнер или что?
Антон
@protopopys ты, случаем, не из под винды с докертулбоксом сидишь?)
Vladimir
нет еще
Vladimir
звиняйте не туда
Kirill
я на маке сижу. docker на vm CentOS_7 юзаю
Danil
О, узнаю твою аву
На тостере тебя видел 100 раз
Danil
то есть ты волум прокидываешь с хоста в контейнер или что?
Sergey
@devanboo хз почему но звучит обидно)
Danil
Ты вроде в Symfony
Danil
Laravel
Danil
Отлично шаришь
Sergey
похапэшник короч я
Danil
Вроде как на тостере только твои ответы по данным фреймам адекватны
Kirill
Понял я свой косяк.
Sergey
@devanboo там есть еще пара чуваков адекватных в этой теме, просто они реже там тусуются
Антон
о, пока тут похапешники тусуются, вот моя задумка по поводу автоматизации композера и миграций:
я думал автоматизировать это дело через RUN, ведь тебе нужно обновлять композер всегда, когда обновился композер джейсон, и надо запускать миграции, когда добавился файл в папку
понятное дело, что если нужно сделать роллбэк или просто обновить пакеты до новых версий, то делать это руками
но наиболее частые применения можно автоматизировать
Антон
но рану нужно четко донести, что он должен пересобираться только при изменении файла композера или папки миграции
Vadim
я наверное щас сморожу дикую хуйню, но bash скрипт?
Alex
Миграции через Dockerfile гонять не надо
Антон
почему не надо? если ты стянул из гита новую миграцию, и не ывполнил ее, то твой проект в не консистентном состоянии
Антон
ибо чувакзалил код, который работает только с новой версией бд, а у тебя она старая, пока ты не накатишь миграцию
Alex
Поэтому ты вручную подымаешь миграцию
Sergey
миграции при старте контейнера а не при сборке образа
Sergey
я их пихаю в bin/boot.sh
Sergey
оно заодно дожидается соединения с базой данных и т.д.
Sergey
а если надо сделать zero-downtime
Sergey
ты можешь рядом запустить отдельный контейнер с новым кодом, накатить миграции, откатить миграции и потом уже апать контейнер а апой
Alex
Если надо zero-downtime то пилятся миграции таким образом чтобы они занимали почти нулевое время по выполнению и как правило накатываются в несколько шагов
Sergey
почему почти нулевое? Они могут хоть пол часа накатыватся, они просто не должны влиять на работу приложения
Sergey
полная обратная совместимость
Sergey
добавил поле - оно нулабл
Alex
а, ну да. Я просто говорил про mysql
Alex
его здравые люди не юзают.
Alex
я забыл что в постгрессе смена схемы транзакционная
Sergey
да, я тоже привык уже к постгресу)
Anton
Попросил сделать тег "Devops" на Тостере - сделали. Можно попросить администрацию Тостера сделать тег "Docker"
Alex
а смысл в тостере?
Alex
есть SO/Сетка
Alex
Ну так сейчас то нету.
Alex
А раньше лучше было да?
Sergey
там каждый день было по 2-3 интересных вопроса
Alex
(я просто не юзал никогда, только ссылку видел)
Sergey
и много позновательных ответов
Sergey
ну то есть не вопросы из разряда "какой фреймворк выбрать" или "как начать писать на js"
Антон
я гоа полтора-два назад там активно зависал
Sergey
там сейчас раз в неделю просто не тупой вопрос проскакивает
Alex Sharov
Народ, а какая конфигурация должна быть у nginx, чтобы он делал ssl для registry?
И nginx и registry в контейнере, но когда я поднимаю всё это - nginx как-будто бы ничего не видит
D'`N_]!7ZYkFzyTTvQQP*M.-n+lZFh~fB0cbQP+N)]rwvunm3Tjinmle+ibJfe^$
Всем привет) Я ZaArs ^^
Alex
Мы все поняли.
Sergey
> чтобы он делал ssl для registry?
там в документации к docker distribution же все есть
Max
Хай всем. Кто-то Rancher`ом пользуется?
Alex
Уже спрашивали вчера или позавчера )
Max
А у кого-то был такой баг: https://github.com/rancher/rancher/issues/6406
Или это тольк в rc версии?
Slach
всем привет, возникла тут необходимость упихать в Dockerfile очень старый legacy deb пакет (пересобрать который уже нельзя), у которого в зависимостях есть supervisor и этот самый supervisor активно используется в postinstall \ preinstall скриптах пакета
при попытке сделать docker build внутри которого есть
RUN apt-get install -y supervisor && service supervisor start && apt-get install -y my-package=XXX && service supervisor stop
при запуске preinstall скрипта пакета
получаю
supervisorctl status
unix:///var/run/supervisor.sock no such file
как так??? в момент build нельзя стартануть supervisor ? или что-то происходит с /var/run ?
смотрю по логам
есть странная строчка
invoke-rc.d: policy-rc.d denied execution of start.
или нельзя использовать service supervisor start во время build ?
Slach
да, судя по логам service supervisor start вообще никак не отрабатывает, да еще и судя по гуглу, это вообще особенность базового образа убунты =)
Alexander
а зачем он нужен?
Alexander
пакет как-то его запускает или проверяет?
Slach
да, я написал, пакет имеет в своем составе /etc/supervisor/conf.d/mypackage.conf делаеет всякие supervisorctl reread , supervisorctl stop \ start чтобы свои бинари запустить и поменять преинстал скрипты пакета нереально
Slach
но в целом разобрался уже
вместо service
bash -x /etc/init.d/supervisor start
и после сетапа пакета
bash -x /etc/init.d/supervisor stop
Slach
там бинарник который из под супервизор пускался, я его все равно через CMD потом запущу при старте пакета
Sergey
можно ли как-то быстро сделать временную копию текущего контейнера?
Sergey
кроме как docker commit && docker start
banteg
ребят, а есть чат про elasticsearch?
Roman
Roman
уже в экспериментальную версию вроде добавляют эти фичи
D'`N_]!7ZYkFzyTTvQQP*M.-n+lZFh~fB0cbQP+N)]rwvunm3Tjinmle+ibJfe^$
Всем привет. Кто может подсказать, как подключиться по SSH к контенеру?
Alex
зачем?
Alexander
можно же аттачиться или запускать команды внутри запущенного контейнера с -it параметром
D'`N_]!7ZYkFzyTTvQQP*M.-n+lZFh~fB0cbQP+N)]rwvunm3Tjinmle+ibJfe^$
зачем?
Потому что там Yii2 ) ..
Alex
и?
Alex
ssh то зачем?
D'`N_]!7ZYkFzyTTvQQP*M.-n+lZFh~fB0cbQP+N)]rwvunm3Tjinmle+ibJfe^$
В общем создал контейнер, и нужно файлы в нем изменить?