U kunt zowel docker als docker-compose gebruiken. Bijvoorbeeld met docker componeren.
Maak een bestand met de naam docker-compose.yml zoals:
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"
Daarnaast heb je een bestand nodig onder ./data
met welke SQL-commando's je ook wilt uitvoeren en en .env
bestand waarin je de omgevingsvariabelen definieert die ik heb gebruikt in de docker-compose.yml
bestand hierboven zoals:${DATABASE}
Uw .env
bestand:
# MySQL
DATABASE=db_name_here
ROOT_USER=root
ROOT_PASSWORD=root
USER=dev
PASSWORD=dev
Uw bestand met SQL-commando's om ./data/init.sql
uit te voeren (je kunt het bestand een naam geven die je wilt)
CREATE DATABASE 'whatever';
DROP DATABASE 'whatever';
-- you can do whatever you want here
Dit bestand wordt elke keer dat u dit doet uitgevoerd:
docker-compose up -d db