0Pricing
DevOps Bootcamp · Pelajaran

Variabel Lingkungan dan File .env

Konfigurasikan layanan Compose dengan rapi menggunakan variabel lingkungan, substitusi variabel, dan file .env agar satu file Compose dapat digunakan di lingkungan pengembangan, staging, dan produksi.

Variabel Lingkungan dan File .env adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Mengapa Konfigurasi Dipisahkan?

Menuliskan kata sandi dan port secara langsung di dalam berkas Compose rapuh dan tidak aman. Variabel lingkungan memungkinkan Anda mengubah perilaku sesuai lingkungan tanpa mengedit YAML.

  • Jauhkan rahasia dari kontrol versi
  • Gunakan kembali satu berkas Compose di mana pun
  • Timpa nilai saat waktu proses

Kunci environment

Di dalam suatu layanan, deklarasikan variabel di bawah environment sebagai peta. Variabel ini dimasukkan ke dalam kontainer saat kontainer dimulai.

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: app
      POSTGRES_PASSWORD: secret

Bentuk Daftar

Kunci yang sama juga menerima daftar string KEY=VALUE. Pilih bentuk yang menurut Anda paling mudah dibaca.

services:
  db:
    image: postgres:16
    environment:
      - POSTGRES_USER=app
      - POSTGRES_PASSWORD=secret

Berkas .env

Compose secara otomatis membaca berkas bernama .env di direktori proyek. Tentukan nilai di sana satu kali, lalu rujuk nilai tersebut dengan substitusi ${VAR}.

# .env
PG_USER=app
PG_PASS=secret
WEB_PORT=8080

Substitusi Variabel

Gunakan ${VAR} di mana pun dalam berkas Compose. Compose menggantinya dengan nilai dari .env atau shell sebelum melakukan penguraian.

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: ${PG_USER}
      POSTGRES_PASSWORD: ${PG_PASS}

Nilai Bawaan

Berikan nilai cadangan dengan ${VAR:-default}. Jika variabel tidak ditetapkan atau kosong, nilai bawaan akan digunakan, sehingga stack tetap berjalan tanpa .env yang lengkap.

ports:
  - "${WEB_PORT:-80}:80"

Variabel Wajib

Gunakan ${VAR:?message} untuk menjadikan variabel wajib diisi. Compose membatalkan proses dengan pesan Anda jika variabel tersebut tidak ada, sehingga kesalahan konfigurasi dapat diketahui lebih awal.

environment:
  API_KEY: ${API_KEY:?API_KEY must be set}

Direktif env_file

Untuk meneruskan seluruh berkas variabel langsung ke dalam kontainer (bukan hanya untuk substitusi), gunakan env_file. Setiap baris menjadi variabel lingkungan kontainer.

services:
  api:
    image: myapi:1.0
    env_file:
      - api.env

Aturan Prioritas

Ketika sebuah variabel didefinisikan di beberapa tempat, Compose menerapkan urutan tertentu. Lingkungan Shell mengalahkan .env; entri environment: yang ditentukan secara eksplisit mengalahkan env_file.

  • Shell / CLI -e memiliki prioritas tertinggi
  • kemudian environment:
  • kemudian env_file
  • kemudian nilai bawaan image

Memeriksa Nilai yang Telah Diselesaikan

Jalankan docker compose config untuk menampilkan berkas Compose yang telah sepenuhnya diselesaikan, dengan semua substitusi diterapkan. Ini sangat berguna untuk memverifikasi hal yang benar-benar akan dijalankan.

docker compose config

Jauhkan Rahasia dari Git

Commit .env.example yang berisi placeholder, lalu tambahkan .env yang sebenarnya ke .gitignore. Untuk rahasia produksi yang sebenarnya, prioritaskan Docker secrets daripada variabel lingkungan.

# .gitignore
.env

Pemeriksaan Singkat

Bagaimana cara kerja nilai bawaan dalam substitusi?

Ringkasan

Sekarang Anda dapat mengonfigurasi Compose dengan rapi menggunakan data lingkungan:

  • environment: menyuntikkan variabel untuk setiap layanan
  • Berkas .env menyediakan nilai untuk substitusi ${VAR}
  • :- memberikan nilai bawaan, sedangkan :? menandai nilai yang wajib diisi
  • docker compose config menampilkan hasil yang telah diselesaikan

Dengan demikian, satu berkas Compose dapat digunakan di semua lingkungan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Variabel Lingkungan dan File .env” gratis?

Ya — teks lengkap “Variabel Lingkungan dan File .env” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Variabel Lingkungan dan File .env”?

Konfigurasikan layanan Compose dengan rapi menggunakan variabel lingkungan, substitusi variabel, dan file .env agar satu file Compose dapat digunakan di lingkungan pengembangan, staging, dan produksi. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Variabel Lingkungan dan File .env” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Docker Compose?
  2. Menulis Berkas Compose
  3. Menerapkan Aplikasi Multi-Layanan
  4. Variabel Lingkungan dan File .env
← Kembali ke DevOps Bootcamp