Anonymous
А можно ли сделать, чтобы перебилд был абсолютно незаметным. Сейчас использую docker-compose up -d --no-deps --build Но все равно, так сказать, есть момент, когда ничего не работает ?
Anonymous
сделай docker build отдельно
типо docker-compose build -d docker-compose up -d ?
Anonymous
типо docker-compose build -d docker-compose up -d ?
да, только без д в первой строке
Anonymous
да, только без д в первой строке
Не, все равно также. Буквально 3-5 сек, но в этот момент ничего не работает
Артём
Не, все равно также. Буквально 3-5 сек, но в этот момент ничего не работает
можно сворм использовать, если задача в бесшовном обновлении сервисов стоит
Anonymous
можно сворм использовать, если задача в бесшовном обновлении сервисов стоит
swarm - это да. Спасибо. А т.е. компоузом бесшумно нельзя получается?
Артём
врятли
Артём
просто используй уже написанный компос для запуска через сворм и там можно указать времянной интервал для замены старого контейнера новым. Время можно выставитьв зависимости от того как долго основной процесс внутри pid namespace контейнера будет подниматься
Артём
тк основная проблема в том, что большая часть простоя - время запуска основного процесса контейнера и это через компос ты никак не решишь
A.D.🈴
A.D.🈴
Хочу включить экстешны. Нашел ини. А как его отредактировать?
A.D.🈴
A.D.🈴
нано нет, мс нет, апт не работает. ЧЯДНТ?
A.D.🈴
ви ща попробую. Но вроде можно копировать готовый пхп.ини при билде имиджа...
Dan
не можно, а нужно. потому что править конфиги внутри контейнера это пиздец
Dan
только монтировать, либо делать sed в билд-стейдже
A.D.🈴
Уже сделал через CP. Теперь другая проблема - интл.длл не найден, хотя я в билде его делаю...
Anonymous
Ребят, а есть какой то аргумент запускать докеры через docker run а не через dcoker compose?
Anonymous
просто мне кажется удобно настраивать yml конфиг нежели как то по другому
Sergey
Ребят, а есть какой то аргумент запускать докеры через docker run а не через dcoker compose?
Docker-compose просто удобнее, если нужно использовать больше аргументов при запуске. Ключевое слово удобство запуска и управления
Anonymous
Я вот хочу запустить nginx в докере, там указывать нужно ссылки на конфиг. Если в yml прописано все, то очень удобном, есть какой то аргумент не использовать Docker compose?
Andrey
Так это не аргумент
Это аргумент, просто надо понимать, что происходит при использовании того или иного инструмента, docker-compose это не способ сократить или удобнее описать docker run
Anonymous
Ребят, а есть какой то аргумент запускать докеры через docker run а не через dcoker compose?
возможности докера, которые в композ не поддерживаются
Anonymous
как бы мне в купернейтсы вкатится
Леннарт Zh 🕊
Коллеги, научите пожалуйста как корректно стопорнуть контейнер с MySQL базой (движок не знаю). Мне нужно чтобы файлы базы, замаунченные в контейнер с хоста остались в консистентном состоянии. Приложение - Битрикс, есть контейнер с rabbit-ом
Alexander
Коллеги, научите пожалуйста как корректно стопорнуть контейнер с MySQL базой (движок не знаю). Мне нужно чтобы файлы базы, замаунченные в контейнер с хоста остались в консистентном состоянии. Приложение - Битрикс, есть контейнер с rabbit-ом
Вот такую ссыль нашел https://serverfault.com/questions/661691/what-is-safe-way-to-stop-mysql-docker-container. Надо остановить процесс, который находится внутри контейнера. Если запущено через какой-нибудь шелльник, то надо создать шелльник для штатной остановки БД
Anonymous
даже убить процесс является безопасной остановкой
Anonymous
правда не kill -9
Anonymous
без этого флага
Anonymous
при смерти база сохранит данные из памяти на диск
Anonymous
stop абсолютно безопасен
Леннарт Zh 🕊
stop абсолютно безопасен
@gecube уже написал в соседнем чятике что it depends
Леннарт Zh 🕊
при смерти база сохранит данные из памяти на диск
Есть упоминание в доке об этом? Мошт там тоже тайм-аут?
Anonymous
документацию по марии читай
Alexander
Нет, отдельный скрипт, который будет стопать БД. Например шелльник с названием shutdown.sh, который лежит в корне и будет вызываться через docker exec {container} shutdown.sh
George
документацию по марии читай
Ну, а потом ты попадаешь на рекавери состояния из wal
George
Ну-ну
Леннарт Zh 🕊
Нет, отдельный скрипт, который будет стопать БД. Например шелльник с названием shutdown.sh, который лежит в корне и будет вызываться через docker exec {container} shutdown.sh
Ага, спс. Как-то не люблю я скрипты. Хочется побольше снаружи контейнеров делать (а ля оркестратор для бедных) и поменьше внутри
Anonymous
из за того что docker-compose stop сделал?
Леннарт Zh 🕊
George
Принцип действия баз везде одинаков
Evgenii
https://docs.docker.com/compose/reference/stop/
Evgenii
-t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10)
Леннарт Zh 🕊
Принцип действия баз везде одинаков
Inno/xtra/mariadb или как там их - они вроде не транзакционные? Там мануал в раз меньше постгреса и половины фишек нету. Мне уже главначбосс разрабов сказал, что быза на хосте и в /var лежит, а не в /home/bitrix
Evgenii
-t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10)
это время, которое ждет докер, от отправки сигнала процессу, до принудительного убийства процесса.
Леннарт Zh 🕊
Там транзакции есть
Они какие-то детские вроде, не для серьёзных пацанов.
Evgenii
Поставьте минуту и смотрите на результат. Если быстрее завершится, значит это будет штатное завершение работы.
Andrew
#вопрос Выполняю RUN npm install во время image build. Создается внутри директория node_modules с установленными npm пакетами. После этого монтируется volume, и он перезаписывает эту директорию. В итоге ни в образе, ни на хост машине нет установленных пакетов. Можно ли как то обыграть эту ситуацию, чтобы node_modules из образа оказались на host machine?
Леннарт Zh 🕊
Andrew
А можно же сначала VOLUME, а потом RUN npm install ?
а если я использую мониторование через docker-compose?
Anonymous
в докер файле может быть несколько FROM
Anonymous
https://docs.docker.com/develop/develop-images/multistage-build/
Anonymous
на читай
Artyom
Тебе это не поможет )
Не мне, а тому, кому я предложил так сделать)
Anonymous
Автокомплит чтобы был в редакторе на хост машине
просто на хосте npm I сделать не вариант?
Andrew
просто на хосте npm I сделать не вариант?
Для этого ноду локально нужно ставить, а хотелось чтобы все уже в докере было собрано. Была идея, через run делать npm install в cache директорию и на CMD , копировать в node_modules эту директорию, но решил поискать поэлегантней решение
George
У тебя кэш тогда в промежуточном образе будет
Anonymous
Для этого ноду локально нужно ставить, а хотелось чтобы все уже в докере было собрано. Была идея, через run делать npm install в cache директорию и на CMD , копировать в node_modules эту директорию, но решил поискать поэлегантней решение
Я не особ понимаю что в итоге хочешь получить. Окружение разработки образа локально без установки ноды? Запускай ноду из образа типа docker run --rm --volume./:/app yourimage npm install
Anonymous
А так выглядит, что придумал себе проблему и ищешь костыли для её решения
Andrew
А так выглядит, что придумал себе проблему и ищешь костыли для её решения
да наверное ты прав, я придумал проблему и ищу как ее решить.