sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit databázi v kontejneru databázového dockeru?

Můžete použít jak docker, tak docker-compose. Například pomocí docker compose.

Vytvořte soubor s názvem docker-compose.yml jako:

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"

Dále potřebujete soubor pod ./data s libovolnými příkazy SQL, které chcete spustit, a .env soubor, kde definujete proměnné prostředí, které jsem použil v docker-compose.yml soubor výše jako:${DATABASE}

Vaše .env soubor:

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

Váš soubor s příkazy SQL ke spuštění ./data/init.sql (soubor můžete pojmenovat, jak chcete)

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

Tento soubor bude spuštěn pokaždé, když provedete:

docker-compose up -d db


  1. Systém správy velkých databází:Návrh a architekt

  2. Laravel model s POINT/POLYGON atd. pomocí DB::raw výrazů

  3. Spusťte nativní SQL s hibernací

  4. MariaDB DAY() Vysvětleno