From 4fa2cd162c537fac29e120254460ccdcc368f7a6 Mon Sep 17 00:00:00 2001 From: ilham_gmail Date: Fri, 12 Jun 2026 14:08:00 +0700 Subject: [PATCH] Convert landing-page and database services to custom Dockerfile builds to avoid host volume mounting errors --- db.Dockerfile | 4 ++++ docker-compose.yml | 12 ++++++------ landing-page.Dockerfile | 9 +++++++++ 3 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 db.Dockerfile create mode 100644 landing-page.Dockerfile diff --git a/db.Dockerfile b/db.Dockerfile new file mode 100644 index 0000000..875457b --- /dev/null +++ b/db.Dockerfile @@ -0,0 +1,4 @@ +FROM mysql:8.0 + +# Copy the initialization SQL script into the container +COPY ./init-db.sql /docker-entrypoint-initdb.d/init-db.sql diff --git a/docker-compose.yml b/docker-compose.yml index 5f92697..c61c371 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,9 @@ services: # 1. Reverse Proxy & Landing Page landing-page: - image: nginx:alpine - volumes: - - ./landing-page:/usr/share/nginx/html:ro - - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro + build: + context: . + dockerfile: landing-page.Dockerfile depends_on: - poverty-mapping - tugas-spbu @@ -57,7 +56,9 @@ services: # 4. Database MySQL db: - image: mysql:8.0 + build: + context: . + dockerfile: db.Dockerfile command: --default-authentication-plugin=mysql_native_password environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-root_password} @@ -66,7 +67,6 @@ services: - MYSQL_PASSWORD=${DB_PASSWORD:-webgis_password} volumes: - mysql_data:/var/lib/mysql - - ./init-db.sql:/docker-entrypoint-initdb.d/init-db.sql restart: always volumes: diff --git a/landing-page.Dockerfile b/landing-page.Dockerfile new file mode 100644 index 0000000..8e01469 --- /dev/null +++ b/landing-page.Dockerfile @@ -0,0 +1,9 @@ +FROM nginx:alpine + +# Copy landing page static files +COPY ./landing-page /usr/share/nginx/html + +# Copy custom nginx configuration +COPY ./nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80