Установите MySql и загрузите Dump в образ Docker - PullRequest
0 голосов
/ 17 октября 2019

В моем Dockerfile я устанавливаю MySql-Server

FROM ubuntu:latest

# INSTALL MYSQL
RUN apt -y update
RUN apt -y install mysql-server
RUN service mysql start

, но какой сейчас это пароль root? Есть ли более простой способ установить MySql-Server и изначально загрузить mysql-dump-файл?

1 Ответ

1 голос
/ 17 октября 2019

Самый простой способ - использовать официальный образ докера MySQL , который имеет правильную точку входа и управляет сложной задачей, такой как установка начального пароля и тупой базы данных при загрузке или во время сборки, если вы расширяете базовый образ.

Вам просто нужно использовать ниже docker-compose и сопоставить файл БД с /docker-entrypoint-initdb.d.

# Use root/example as user/password credentials
version: '3.1'

services:

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

В настоящее время это поддерживается только для MYSQL_ROOT_PASSWORD, MYSQL_ROOT_HOST, MYSQL_DATABASE, MYSQL_USER, and MYSQL_PASSWORD.

Инициализация свежего экземпляра

Когда контейнер запускается в первый раз, будет создана новая база данных с указанным именем и инициализирована с помощью предоставленных переменных конфигурации. Кроме того, он будет выполнять файлы с расширениями .sh, .sql and .sql.gz, которые находятся в /docker-entrypoint-initdb.d. Файлы будут выполнены в алфавитном порядке. Вы можете легко заполнить ваши службы mysql, смонтировав дамп SQL в этот каталог и предоставив пользовательские изображения с предоставленными данными. Файлы SQL будут импортированы по умолчанию в базу данных, указанную в переменной MYSQL_DATABASE.

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