@lolrofl01

Почему докер не сохраняет базу данных при отключении?

Привет.
Вот докер-композ файл:
db:
      image: mysql:8.0
      container_name: bk-mysql
      command: --sort_buffer_size=512K
      working_dir: /app
      restart: always
      volumes:
        - .:/app
        - ./dump/dump.sql:/docker-entrypoint-initdb.d/dump.sql

      environment:
        - MYSQL_ROOT_PASSWORD=root_pass
        - MYSQL_DATABASE=base
        - MYSQL_USER=base_user
        - MYSQL_PASSWORD=user_pass
      ports:
        - "8082:3306"


Почему-то при включении (docker-compose up) база данных успешно берется из /dump/dump.sql и вставляется в энтрипоинт. Но при отключении (docker-compose down) обратный процесс не происходит, хотя вроде как сказано, что связь двусторонняя. Я что-то не дописал?

Задача: чтобы при удалении контейнера база данных экспортировалась.
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
akelsey
@akelsey
Ничего не понятно, что вы ожидаете, какой результат?
При docker-compose down контейнер удаляется, БД не сохраняется. Никакой обратный процесс не нужен.

upd.:
lolrofl01,
суммаризируя все варианты ответов/комментариев/советов:
- так как вы хотите не работает
- можно переписать свой entrypoint.sh с отловом SIGTERM, и сохранением дампа в ваш файл (много рисков, провозитесь, а успеет процесс сохранить sql или нет большой вопрос доверия такому бэкапу)
- использовать mount volume/bind в папку - хранить т.е. стейтфул данные бд на хосте
выбирайте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы