Я пытаюсь настроить компоновку докера так, чтобы мой контейнер мог использовать существующую схему (без данных) в новом контейнере.Я также хочу, чтобы пользователи могли вставлять данные, поэтому при перезапуске контейнера он будет использовать последние сохраненные данные.В настоящее время я могу получить mysql для правильной загрузки схемы следующим образом:
version: "2.1"
services:
db:
restart: always
image: mysql:5.7
env_file: .env
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE=mydb
- MYSQL_USER=user
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
volumes:
- ./db:/docker-entrypoint-initdb.d/
- data-volume:/var/lib/mysql
volumes:
data-volume:
Это приводит к прекрасной схеме mysql без данных .Я попытался добавить data-volume
, поэтому, когда пользователи вставляют данные в базу данных и контейнер перезапускается, он извлекает данные из постоянных данных (объем данных), но это не работает.
Каждый раз, когда я запускаю docker-compose down
, а затем docker-compose up
, кажется, что вместо инициализации хранимых данных происходит повторная инициализация схемы.Что я тут не так делаю?