Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erstelle ich eine Datenbank im Datenbank-Docker-Container?

Sie können sowohl docker als auch docker-compose verwenden. Zum Beispiel mit docker compose.

Erstellen Sie eine Datei namens docker-compose.yml wie:

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"

Zusätzlich benötigen Sie eine Datei unter ./data mit beliebigen SQL-Befehlen, die Sie ausführen möchten, und und .env Datei, in der Sie die Umgebungsvariablen definieren, die ich in der docker-compose.yml verwendet habe obige Datei wie:${DATABASE}

Ihre .env Datei:

# MySQL
DATABASE=db_name_here
ROOT_USER=root
ROOT_PASSWORD=root
USER=dev
PASSWORD=dev

Ihre Datei mit SQL-Befehlen zum Ausführen von ./data/init.sql (Sie können die Datei beliebig benennen)

CREATE DATABASE 'whatever';
DROP DATABASE 'whatever';
-- you can do whatever you want here

Diese Datei wird jedes Mal ausgeführt, wenn Sie Folgendes tun:

docker-compose up -d db