Поддержка образа в MySQL - PullRequest
       11

Поддержка образа в MySQL

0 голосов
/ 18 декабря 2018

Мне нужно чтобы база данных создавалась при запуске в одном сервисе.Например: services:

  db:
    image: percona:5.7.24-centos
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: db1
      MYSQL_DATABASE_1: db2
      MYSQL_PASSWORD: password
    network_mode: "host"

Но, к сожалению, поддерживается только одна переменная image / environment: MYSQL_DATABASE.

Я использую это в docker-compose

МожетЯ прошу помощи?

1 Ответ

0 голосов
/ 19 декабря 2018

Итак, напишите свой собственный Dockerfile и скопируйте скрипт sql, который создаст новую базу данных на образ.Что-то вроде ниже

FROM mysql

ENV MYSQL_DATABASE=test \
    MYSQL_ROOT_PASSWORD=password \

ADD yourscript.sql /docker-entrypoint-initdb.d/ 

EXPOSE 3306

Так что все сценарии внутри /docker-entrypoint-initdb.d/ будут выполняться при запуске контейнера.По сути, ваш второй сценарий создания базы данных будет находиться внутри yourscript.sql, который будет выполняться при запуске контейнера

. Вы можете создать образ с помощью команды docker build -t masterdanny/percona:5.7.24-centos

, а затем использовать этот новый образ.в вашем файле docker-compose

Приветствия.Дайте мне знать, если у вас есть какие-либо вопросы.

...