как резервное копирование данных обрабатывается в производстве через докер - PullRequest
0 голосов
/ 26 мая 2019

У меня есть следующий файл докера, который запускает образ mysql.

version: '3'

services:

  mysql:
    image: "mysql:5.7"
    container_name: "mysql"
    ports:
      - "6603:3306"
    volumes:
      - ./assets/schema.sql:/docker-entrypoint-initdb.d/init.sql
    environment:
      DATABASE_HOST: mysql
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: mydb
      MYSQL_USER: mysql
      MYSQL_PASSWORD: pass

Я запускаю его локально, но у меня есть проблемы, прежде чем я начну работать.

Какрезервное копирование данных происходит?Должен ли я продолжать фиксировать контейнер в образе?

Я новичок в докере, поэтому мне интересно, как все это обрабатывается в производственной среде, когда дело доходит до базы данных, развернутой через докер.

Ответы [ 2 ]

3 голосов
/ 26 мая 2019

Я не думаю, что вы должны фиксировать контейнер для изображения.Данные являются чем-то управляемым контейнером, но они не являются «частью» контейнера БД.Если вы хотите хранить данные между перезапусками контейнеров, вам следует использовать тома - таким образом вы сможете сохранять данные на томе своего хоста и запускать больше mysql монет-контейнеров с этим томом, совместно используя одни и те же данные.Как использовать тома с изображением mysql описано в их документации - раздел Where to Store Data.

А также, если вы хотите создать дампы вашей базы данных, это также описано в документациив разделе Creating database dumps.

Если вы используете больше контейнеров db и хотите создавать дампы, вы должны каким-то образом автоматизировать этот процесс, например, как задание Jenkins, которое имеет доступ к вашим контейнерам, или некоторые сценарии, выполняемые как задание cron на вашем хосте докера -все зависит от того, какие инструменты вы используете.

0 голосов
/ 26 мая 2019

Вы должны добавить тома, чтобы они содержали фактические файлы БД. По какой-то причине у вас сейчас есть только схема, и когда ваш контейнер выйдет из строя, ваши данные будут потеряны. После добавления томов как постоянных можно использовать стандартный метод резервного копирования, например задание cron.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...