Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak stworzyć bazę danych w kontenerze docker bazy danych?

Możesz użyć zarówno docker, jak i docker-compose. Na przykład za pomocą docker compose.

Utwórz plik o nazwie docker-compose.yml, taki jak:

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"

Dodatkowo potrzebujesz pliku pod ./data z dowolnymi poleceniami SQL, które chcesz uruchomić i i .env plik, w którym definiujesz zmienne środowiskowe, których użyłem w docker-compose.yml plik powyżej, taki jak:${DATABASE}

Twój .env plik:

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

Twój plik z poleceniami SQL do wykonania ./data/init.sql (możesz nazwać plik, jak chcesz)

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

Ten plik będzie wykonywany za każdym razem, gdy to zrobisz:

docker-compose up -d db


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB - INNODB pomijanie sekwencji numerów podczas tworzenia rekordów przyrostowych - dlaczego?

  2. .NET, C#, LINQ, SQL i OR-Mapping - po prostu nie rozumiem :(

  3. Zapisywanie wzrostu i wagi użytkownika

  4. Przechowuj czas między rekordami

  5. SQL / Doctrine :Lewy problem z dołączaniem