Environment Variables & Konfigurasi Aplikasi
Sesuai prinsip 12-Factor App, konfigurasi aplikasi (seperti kredensial database, API key, dan mode ENVIRONMENT) harus dipisahkan dari kode biner dan disuntikkan melalui **Environment Variables**.
1. Passing Env Via Flag -e
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=supersecret -e MYSQL_DATABASE=tokoonline -p 3306:3306 mysql:8.4
2. Passing Env Via File (.env)
Jika variabel lingkungan sangat banyak, lebih rapi jika disimpan di dalam file .env:
# Isi file prod.env:
DB_HOST=db-postgres
DB_USER=admin
DB_PASS=rahasia123
PORT=8080
# Jalankan kontainer dengan flag --env-file
docker run -d --env-file prod.env -p 8080:8080 my-backend-app
⚠️ Keamanan Kredensial: Jangan pernah memasukkan file
.env yang berisi password ke dalam git repository! Tambahkan .env ke file .gitignore.