sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opretter man database i database docker container?

Du kan bruge både docker og docker-compose. For eksempel med docker compose.

Opret en fil kaldet 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"

Derudover skal du bruge en fil under ./data med hvilke SQL-kommandoer du vil køre og og .env fil, hvor du definerer de miljøvariabler, jeg brugte i docker-compose.yml fil ovenfor som:${DATABASE}

Din .env fil:

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

Din fil med SQL-kommandoer til at udføre ./data/init.sql (du kan navngive filen, hvad du vil)

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

Denne fil vil blive udført hver gang du gør:

docker-compose up -d db


  1. SQL Server AlwaysOn ( Tilgængelighedsgruppe ) arkitektur og trin for trin installation - 3 Manuel fejl over trin

  2. Kan ikke oprette forbindelse til lokal PostgreSQL

  3. MySQL dato sammenligning

  4. Mysql-forespørgsel med to tabeller php