1.8 KiB
Langkah Belajar Docker
File Docker sudah disiapkan, tetapi belum dijalankan.
File yang Dibuat
Dockerfile
docker-compose.yml
.env.example
.dockerignore
docker/mysql-init/99-grants.sql
Fungsi Setiap File
Dockerfile
Membuat image aplikasi PHP Apache. File ini memasang extension PHP yang dibutuhkan project, seperti pdo_mysql, mysqli, dan curl.
docker-compose.yml
Mengatur dua service:
app = Apache + PHP + semua file project
db = MySQL 8.0
.env.example
Template konfigurasi port, username, password, dan nama database. File ini boleh masuk Git karena tidak berisi password production.
.dockerignore
Mengatur file/folder yang tidak perlu ikut masuk image Docker, seperti .git, .env, upload, log, vendor, dan node_modules.
docker/mysql-init/99-grants.sql
Memberi akses user webgis_user ke dua database:
webgis_spbu
webgis_miskin
Urutan Menjalankan Nanti
Jangan jalankan dulu kalau masih belajar struktur. Saat sudah siap, urutannya:
- Salin file environment:
copy .env.example .env
- Buka
.env, lalu pelajari nilai berikut:
APP_PORT=8080
DB_PORT=3307
DB_USERNAME=webgis_user
DB_PASSWORD=webgis_password
MYSQL_ROOT_PASSWORD=root_password
- Build dan jalankan container:
docker compose up -d --build
- Buka aplikasi:
http://localhost:8080
- Cek container:
docker compose ps
- Lihat log jika ada error:
docker compose logs -f
- Matikan container:
docker compose down
- Reset database Docker dari awal:
docker compose down -v
docker compose up -d --build
Catatan Penting
Kalau kamu mengubah DB_USERNAME di .env, sesuaikan juga isi:
docker/mysql-init/99-grants.sql
Untuk production, ganti semua password default di .env.