docker-compose.common.yaml
version: '3.9'
services:
app:
extends:
service: build
environment:
GUESTBOOK_DB_DSN: mysql:dbname=guestbook;host=database
GUESTBOOK_DB_USER: guestbook
GUESTBOOK_DB_PASSWORD: guestbook
build:
build:
context: .
target: builder
environment:
COMPOSER_HOME: /var/composer
volumes:
- .:/var/www
- composer:/var/composer
database:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: guestbook
MYSQL_USER: guestbook
MYSQL_PASSWORD: guestbook
volumes:
- ./etc/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql
healthcheck:
test: "mysqladmin ping -h$$HOSTNAME -uroot -proot"
retries: 10
timeout: 1s
interval: 2s
start_period: 10s
volumes:
composer: