MySQL
MySQL starter template with persistent storage and configurable app credentials.
yaml
docker-compose.yml
services:
mysql:
image: mysql:8
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- ${MYSQL_PORT}:3306
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
.ENV
.env example
MYSQL_ROOT_PASSWORD=changeme123
MYSQL_DATABASE=appdb
MYSQL_USER=appuser
MYSQL_PASSWORD=changeme123
MYSQL_PORT=3306
deployment
Quick Start
- Create a working directory named after the service.
- Copy the compose file and generated `.env` into that directory.
- Review the variables and replace placeholders with real values.
- Run `docker compose up -d`.
mkdir mysql
cd mysql
# create docker-compose.yml
# create .env
docker compose up -d