docker compose mysql example
Example 1: mysql docker compose
version: 'X.X'
services:
db:
image: mysql
restart: always
environment:
MYSQL_DATABASE: 'db' # So you don't have to use root, but you can if you like
MYSQL_USER: 'user' # You can use whatever password you like
MYSQL_PASSWORD: 'password' # Password for root access
MYSQL_ROOT_PASSWORD: 'password'
ports: # : < MySQL Port running inside container>
- '3306:3306'
expose: # Opens port 3306 on the container
- '3306' # Where our data will be persisted
volumes:
- my-db:/var/lib/mysql # Names our volume
volumes:
y-db:
Example 2: wordpress docker compose
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
Example 3: mysql docker-compose
version: '3.3'services: db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: 'db' # So you don't have to use root, but you can if you like MYSQL_USER: 'user' # You can use whatever password you like MYSQL_PASSWORD: 'password' # Password for root access MYSQL_ROOT_PASSWORD: 'password' ports: # : < MySQL Port running inside container> - '3306:3306' expose: # Opens port 3306 on the container - '3306' # Where our data will be persisted volumes: - my-db:/var/lib/mysql# Names our volumevolumes: my-db: