однажды вычитал типо умный дядька сказал: у вас хорошо организована работа, если ваш проект можно развернуть одной-двумя командами, и вот теперь я парюсь)))
И все бы ничего, но в это раз я имею дело с битриксом. И так: задача: одной-двумя командами поднять копию прода на локале.
Как вам такой велосипед:
$ git clone
клоним проект с гита
$ docker-compose up
запускаем композер на два контейнера
Первый — Окружение для битрикса со всеми php модулями
Второй — Билдим собственный докерфайл из перцоны (mysql), который шел прямо в гите
В докер файле начинается самая настоящая порнография:
FROM percona:latest
USER root
RUN yum -y install openssh-clients sshpass
RUN sshpass -p 'pass' \
ssh -o StrictHostKeyChecking=no root@id \
"docker exec r-container-percona-1-07292be8 \
/usr/bin/mysqldump -u root --password=pass --quick --databases sitemanager0 | gzip" > backup.sql.gz && \
mv backup.sql.gz /docker-entrypoint-initdb.d
USER mysql
EXPOSE 3306
Короче, устанавливаются пакеты для ssh
ssh идет на сервер в докер контейнер, делает дамп базы и скачивает к себе, кладет а entrypoint что бы он развернул этот дамп при первом же запуске.
Это все написал я и вот я теперь думаю, действительно ли это имеет право на жизнь (благодаря этому можно разворачивать проект битрикса двумя командами в терминале)
По-моему в таком случае уже теряется вся суть Докеризации, разве нет?
И действительно ли это порнография, или это достаточно привычная практика, что скажете?
Когда надо сделать редамп базы, то можно просто убить собраный образ и запустить композ заново.
В общем, вот.
Не совсем понял смысл, обычно сами данные для базы с хоста монтируют, но в целом если проблема хорошо решается, то почему и нет?
условие - одной, двумя командами - бредовое, особенно если это делается таким образом. Базу прода дампить во время разворачивания локального окружения, это ужас. mysqldump вообще-то блокировки на таблицы ставит во время их дампа. А это зависшие запросы у пользователей. Ну напиши скрипт, который поднимает в докере локальный проект, а потом если надо копирует базу из последнего бэкапа
Обсуждают сегодня