projet-application-web/docker-compose.yml
2022-04-21 15:35:45 +02:00

72 lines
1.7 KiB
YAML

version: "3"
services:
wildfly:
image: quay.io/wildfly/wildfly
container_name: wildfly
hostname: wildfly
ports:
- 8080:8080
- 9990:9990
volumes:
- ./build/libs/:/opt/jboss/wildfly/standalone/deployments/
environment:
- WILDFLY_USERNAME=admin
- WILDFLY_PASSWORD=password
- DB_PORT=3306
- DB_HOST=mariadb
command: >
bash -c '
(
sleep 15 &&
/opt/jboss/wildfly/bin/jboss-cli.sh \
--connect controller=127.0.0.1 \
--command=" \
data-source add \
--jndi-name=java:/MySqlDS \
--name=MySQLDS \
--connection-url=jdbc:mysql://$$DB_HOST:$$DB_PORT/mydatabase \
--driver-name=backend.war_com.mysql.cj.jdbc.Driver_8_0 \
--user-name=$$WILDFLY_USERNAME \
--password=$$WILDFLY_PASSWORD \
"
)&
/opt/jboss/wildfly/bin/add-user.sh admin password --silent &&
/opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0'
depends_on:
mariadb:
condition: service_healthy
restart: always
mariadb:
image: mariadb
container_name: mariadb
hostname: mariadb
environment:
- MYSQL_USER=user
- MYSQL_PASSWORD=mypassword
- MYSQL_DATABASE=mydatabase
- MYSQL_ROOT_PASSWORD=rootpassword
ports:
- 3306:3306
volumes:
- ./mariadb/:/var/lib/mysql/
healthcheck:
test:
[
"CMD-SHELL",
'mysqladmin -p$$MYSQL_ROOT_PASSWORD -h localhost ping | grep "mysqld is alive" || exit 1',
]
interval: 2s
retries: 10
restart: always
volumes:
wildfly_data:
driver: local
mariadb:
driver: local