Kodeloka
  1. Kodeloka
  2. Kelas Docker
  3. Materi

Fundamentals · Modul 10 dari 21

Environment Variables & App Configurations

Passing variabel lingkungan (-e KEY=VALUE, --env-file) untuk konfigurasi dinamik kredensial database & app settings.

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.