Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como criar banco de dados no contêiner docker de banco de dados?


Você pode usar o docker e o docker-compose. Por exemplo, com docker compose.

Crie um arquivo chamado docker-compose.yml como:
version: '3'
services:
  db:
    image: percona:5.7
    container_name: whatever_you_want
    environment:
      - MYSQL_DATABASE=${DATABASE}
      - MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD}
      - MYSQL_USER=${USER}
      - MYSQL_PASSWORD=${PASSWORD}
    volumes:
      - ./data:/docker-entrypoint-initdb.d
    ports:
      - "3306:3306"

Além disso, você precisa de um arquivo em ./data com quaisquer comandos SQL que você deseja executar e .env arquivo onde você define as variáveis ​​ambientais que usei no docker-compose.yml arquivo acima como:${DATABASE}

Seu .env Arquivo:
# MySQL
DATABASE=db_name_here
ROOT_USER=root
ROOT_PASSWORD=root
USER=dev
PASSWORD=dev

Seu arquivo com comandos SQL para executar ./data/init.sql (você pode nomear o arquivo como quiser)
CREATE DATABASE 'whatever';
DROP DATABASE 'whatever';
-- you can do whatever you want here

Este arquivo será executado toda vez que você fizer:
docker-compose up -d db