sql >> Databasteknik >  >> RDS >> Mysql

Hur skapar man en databas i databasen docker container?

Du kan använda både docker och docker-compose. Till exempel med docker compose.

Skapa en fil som heter docker-compose.yml som:

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"

Dessutom behöver du en fil under ./data med vilka SQL-kommandon du vill köra och och .env fil där du definierar miljövariablerna som jag använde i docker-compose.yml fil ovan som:${DATABASE}

Din .env fil:

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

Din fil med SQL-kommandon för att köra ./data/init.sql (du kan namnge filen vad du vill)

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

Den här filen kommer att köras varje gång du gör:

docker-compose up -d db


  1. Slinga n gånger utan att använda en lagrad procedur

  2. MySQL:Ta bort rader som innehåller en specifik parameter och är äldre än en dag

  3. Finns det något sätt att skapa flera utlösare i ett skript?

  4. Skapa visuell databas med MySQL Workbench