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

Что эквивалентно указанию схемы базы данных в файле docker-compose.yml.

database / Dockerfile

FROM mysql:5.7

COPY ./schema.sql /docker-entrypoint-initdb.d/

docker-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

1 Ответ

1 голос
/ 22 мая 2019

Итак, у вас есть 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.

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