George
т.е. хелсчек не дает healthy, пока миграция не отработает. Далее миграция делает файл-флаг, который хелсчек проверяет и потом еще слип 10
George
чтобы следующий контейнер успел стартовать
George
но вообще это нихера не продакшн решение. Аж страшно жить
George
нифига ты хакир!
спасибо, друг
George
хоть на что-то я пригодился )
Andor
да мне и не в прод, мне тесты запустить
Andor
я ж сказал: пхпюнит
George
для тестов окей. Зато красиво. Миграция отработала - ты даже увидишь, что контейнер был хелзи - прикинь!
Andor
я не настолько безумен чтобы docker-compose в прод пихать
George
единственный косяк - это только в докер-компоуз 2.7
George
т.е. на сворме это не работает от слова совсем
Andor
мне это норм
George
👍вперед, мочи!
Andor
ок, второй вопрос
Andor
я думал что если указать несколько докер-композ-файлов контент мёржится
Andor
то есть я могу например сказать ему -f docker-compose.yaml -f docker-compose-tmpfs.yaml и во втором файле сказать что волюмы для мускуля должны быть в тмпфс и оно все сервисы отнаследует
Andor
что-то не вышло у меня, сказал что нечего запускать
Andor
я что-то понял не так или что-то делают не так7
Rainbow
может проще ansible использовать, раз сценарии не самые простые?
Andor
простые, простые
Andor
вот мне ещё ансиболи не хватало
Andor
нафиг мне ансиболь в CI? :)
Andor
(не CD)
Rainbow
нафиг мне ансиболь в CI? :)
у меня половина я CD на нем
Andor
ну вот у меня сценарий же простой - поправить волюм мускуля на тмпфс при запуске тестов
Andor
а, походу надо просто сервисы перечислить будет
Rainbow
ну вот у меня сценарий же простой - поправить волюм мускуля на тмпфс при запуске тестов
звучит как helm 😂 я пишу на такое пару docker-compose.yml на каждую ветку развития событий. типа docker-compose.test.yml
Andor
после обеда попробую
George
но не совсем
George
вольюмы, по-моему, должны быть в каждом
Andor
Ну вот сказано в доке типа "если сервис указан в обоих то мёржит"
Andor
Так что пустые сервисы впишу во втором файле и попробую
George
ну, смотри, у нас была идея какая
George
1. в docker-compose.base.yaml - база постгрес 2. в docker-compose.service-dev.yaml - дев версия сервиса 3. в docker-compose.test.yaml - тесты
George
и все нормально работает
George
перекрывающихся сервисов не было, ибо было не нужно )))))
George
не должно быть пустых файлов
George
если не веришь, то docker-compose config -f first.yaml -f second.yaml … и смотрите выхлоп
Rainbow
Копипастишь между ними?
ну да, это не так больно, чем позже разбирать адище if. Раз в пол кода можно и копипастить.
Rainbow
Ну я же не хочу ни ифы ни копипасту, мне надо очень просто
как насчет? mysql: &mysql image: ... test_mysql: <<: *mysql volumes: ...
Andor
Ну не, анчоры это сложно
Andor
:)
Andrey
привет, ребят
Andrey
что можно сделать с вольюмом при перемещении сервиса с одной машины на другую? есть бестпрактики?
Andrey
чтобы данные за сервисом пошли
Andor
зависит от типа волюма
Andrey
ну типа нет, надо что то придумать чтобы это все было бесшовно
Andor
зависит от типа волюма
Andrey
спасибо
Andor
если например сетевой, то ничего, просто перемонтировать
Rainbow
nfs самое простое
Andor
а если локальный, то надо как-то упаковывать и мигрировать
Rainbow
ну типа нет, надо что то придумать чтобы это все было бесшовно
Что хранится в волуме? А то мало ли там папка uploads
Andrey
данные базы
Andor
репликацией не получается?
Jürgen
данные базы
Настроить репликацию на новый сервер
Andrey
условно надо переместить слэйва на другую машину
Rainbow
условно надо переместить слэйва на другую машину
Проще делать новый слейв, чем играться с перемещением
Andor
@gecube @alexesDev $ cat docker-compose-tmpfs.yaml version: '3.2' services: mysql: {} redis: {} composer: {} phpunit: {} volumes: mysql-data: driver_opts: type: tmpfs device: tmpfsработает :)
Andor
но оно сможет запускать только сервисы из второго файла
Andor
остальное видимо мёржится
Andor
странная логика, ну да ладно
George
хз
George
мы чтобы сохранить порядок запуска делали так docker-compose -f first.yaml up -d docker-compose -f first.yaml -f tests.yaml —abort-on-container-exit
George
и, да, я накосячил с параметрами
George
а docker-compose -f ololo.yaml -f ololo2.yaml config
George
но ты мог и сам догадаться 🙂
Andor
гм
Andor
не смог! %)
George
ну, сорян, пора развивать фантазию ))))
Andor
с хелсчеками пока не заморачивался
Andor
единственный косяк - это только в докер-компоуз 2.7
хелсчеки работают, но зависимости на них не смотрят начиная с 3.0, вот дерьмо