perbaikan struktur compose
This commit is contained in:
+60
-25
@@ -1,37 +1,72 @@
|
||||
services:
|
||||
app:
|
||||
build: .
|
||||
ports:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
expose:
|
||||
- "80"
|
||||
environment:
|
||||
# Koneksi database menunjuk ke container 'db'
|
||||
- DB_HOST=db
|
||||
- DB_USER=root
|
||||
- DB_PASSWORD=rootpassword
|
||||
# Nama database utama
|
||||
- DB_NAME=uas_06
|
||||
DB_HOST: db
|
||||
DB_PORT: 3306
|
||||
DB_DATABASE: webgis_spbu
|
||||
DB_USERNAME: webgis_user
|
||||
DB_PASSWORD: webgis_password
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
restart: always
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: mysql:8.0
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
image: webgis-db
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=rootpassword
|
||||
- MYSQL_DATABASE=uas_06
|
||||
ports:
|
||||
MYSQL_DATABASE: webgis_spbu
|
||||
MYSQL_USER: webgis_user
|
||||
MYSQL_PASSWORD: webgis_password
|
||||
MYSQL_ROOT_PASSWORD: root_password
|
||||
expose:
|
||||
- "3306"
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
# Auto-import database terpadu
|
||||
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: always
|
||||
- webgis_db_data:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
|
||||
migrate:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
image: webgis-db
|
||||
environment:
|
||||
MYSQL_PWD: root_password
|
||||
depends_on:
|
||||
- db
|
||||
command: >
|
||||
sh -c "
|
||||
until mysqladmin ping -h db -uroot --password=$$MYSQL_PWD --silent 2>/dev/null; do
|
||||
echo 'Waiting for database...';
|
||||
sleep 2;
|
||||
done;
|
||||
sleep 3;
|
||||
echo 'mysqld is alive';
|
||||
for file in /docker-entrypoint-initdb.d/*.sql; do
|
||||
echo \"Running $$file\";
|
||||
mysql -h db -uroot --password=$$MYSQL_PWD < $$file || exit 1;
|
||||
done;
|
||||
echo 'All migrations done.';
|
||||
"
|
||||
restart: "no"
|
||||
|
||||
phpmyadmin:
|
||||
image: phpmyadmin:latest
|
||||
expose:
|
||||
- "80"
|
||||
environment:
|
||||
PMA_HOST: db
|
||||
PMA_PORT: 3306
|
||||
depends_on:
|
||||
- db
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
webgis_db_data:
|
||||
|
||||
Reference in New Issue
Block a user