Dockerfile
Membuat image Docker dengan Dockerfile
Apa itu Dockerfile
- File teks yang berisi instruksi untuk membuat Docker image
- Dibaca secara berurutan dari atas ke bawah
- Nama file selalu
Dockerfiletanpa ekstensi
Instruksi Dasar
FROM
- Menentukan image dasar yang akan digunakan
- Harus menjadi instruksi pertama
- Contoh:
FROM node:20-alpine
WORKDIR
- Menentukan direktori kerja di dalam container
- Perintah selanjutnya akan berjalan di direktori ini
- Contoh:
WORKDIR /app
COPY
- Menyalin file dari host ke image
- Contoh:
COPY . /app
RUN
- Menjalankan perintah selama proses build
- Digunakan untuk menginstal dependensi
- Contoh:
RUN npm install
CMD
- Menentukan perintah yang dijalankan saat container start
- Hanya boleh ada satu CMD dalam Dockerfile
- Contoh:
CMD ["node", "server.js"]
EXPOSE
- Mendokumentasikan port yang digunakan aplikasi
- Tidak secara otomatis membuka port, hanya informasi
- Contoh:
EXPOSE 3000
Contoh Dockerfile Sederhana
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]Build Image dari Dockerfile
docker build -t nama-image:tag .-tuntuk memberi nama dan tag pada image.menunjukkan lokasi Dockerfile berada
Praktik Terbaik
- Urutkan instruksi agar layer yang jarang berubah di atas
- Gunakan image dasar yang ringan seperti alpine
- Hindari menyimpan secret dalam Dockerfile
- Gunakan
.dockerignoreuntuk mengabaikan file yang tidak perlu