blob: 868ad52af39eb72e305a5cc9f3fb3ea997c221ab [file] [log] [blame]
# service configuration for our dockerized Java app
version: '3.7'
services:
app:
# use the Dockerfile next to this file
build:
context: ../
dockerfile: ./docker-resources/app/Dockerfile
# uncomment, if no remote debugging app is required
environment:
- MAVEN_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9000
# this runs the app server in the container, be sure not to filter resources once again!
command: mvn -Pjetty,docker
ports:
- "8081:8081"
# remote debugging port, uncomment if not needed
- "9000:9000"
# makes the app container aware of the DB container
depends_on:
- db
#
#expose:
# - "3000"
volumes:
# project root wtih pom.xml and src folder
- ../../:/myapp
# or use local sapp/ettings.xml
- '#var("app_volume_local_repo"):/m2repo'
db:
# set the build context
build:
context: ../
dockerfile: ./docker-resources/db/Dockerfile
args:
DB_CONTEXT: ./docker-resources/db
MYSQL_DATABASE: ${turbine_database_name}
MYSQL_ROOT_PASSWORD: changeit
MYSQL_USER: ${turbine_database_user}
MYSQL_PASSWORD: ${turbine_database_password}
environment:
MYSQL_DATABASE: ${turbine_database_name}
MYSQL_ROOT_PASSWORD: changeit
MYSQL_USER: ${turbine_database_user}
MYSQL_PASSWORD: ${turbine_database_password}
DB_CONTEXT: ./docker-resources/db
volumes:
- "./db/mysql/init:/docker-entrypoint-initdb.d"
- "./db/mysql/conf:/etc/mysql/conf.d"
- "./db/mysql/data:/data"
- "./db/mysql/log:/mysql/log"
# default mysql persistent data
- db_data_${turbine_database_name}:/var/lib/mysql:rw
restart: always
ports:
# host: container
- "13306:3306"
#networks:
# - db
#command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci]
command: --default-authentication-plugin=mysql_native_password
# this might work only for *nix, check with docker image inspect db
volumes:
db_data_${turbine_database_name}:
#networks:
# db: