Что эквивалентно указанию схемы базы данных в файле docker-compose.yml.
база данных/файл Docker
FROM mysql:5.7
COPY ./schema.sql /docker-entrypoint-initdb.d/
докер-compose.yml
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
Попытки
Я попытался со следующим. Является ли это возможным?
version: '3'
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
command: --init-file /database/schema.sql
volumes:
- ./init.sql:/database/schema.sql
отступ правильный, так как я использую IDE, просто я не знаком с этой командой, я скопировал и вставил, у меня нет init.sql, у меня есть только база данных/schema.sql
Итак, у вас есть schema.sql
где-то в файловой системе вашего хоста, давайте предположим, что он находится на ./database/schema.sql
. Тогда у вас должен получиться такой компоновочный файл:
version: '3'
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
volumes:
- ./database/schema.sql:/docker-entrypoint-initdb.d/init.sql
Это изображение не поддерживает никакие команды --init-file
. Вместо этого он принимает сценарии инициализации, помещенные в каталог /docker-entrypoint-initdb.d
.
Да? Докер пишет жалобы? Кажется, здесь нет ничего слишком неправильного, кроме вашего отступа, который я не знаю, проблема ли это с копированием или вы ошиблись здесь.