Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете база данни в докер контейнера на базата данни?

Можете да използвате както docker, така и docker-compose. Например с docker compose.

Създайте файл, наречен docker-compose.yml, като:

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"

Освен това имате нужда от файл под ./data с каквито и SQL команди, които искате да изпълните, и и .env файл, където дефинирате променливите на околната среда, които използвах в docker-compose.yml файл по-горе като:${DATABASE}

Вашият .env файл:

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

Вашият файл с SQL команди за изпълнение на ./data/init.sql (можете да наименувате файла както искате)

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

Този файл ще се изпълнява всеки път, когато направите:

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. Не мога да кача и съхранява изображението в базата данни с помощта на php

  2. PHP добавя наклонени черти, sql инжекция все още е валидна?

  3. Как да кодирам кирилица в mysql?

  4. Node.js се свързва с MySQL Docker контейнер ECONNREFUSED

  5. ASP, MySQL и UTF-8