Dockerfile FROM & LABEL
1️⃣ Instuksi FROM
Instruksi FROM adalah instruksi wajib yang harus ada di setiap Dockerfile (biasanya di baris pertama). Instruksi ini menentukan Base Image (image dasar) yang akan menjadi fondasi aplikasi.
- Fungsi: Mengambil sistem operasi minimal atau runtime bahasa tertentu dari registry (seperti Docker Hub).
- Sintaks:
FROM <image>[:<tag>]
Contoh menggunakan base image Ubuntu 24.04:
FROM ubuntu:24.04
Jika kita tidak menggunakan base image dari nol/kosong, gunakan perintah scratch. Perintah scratch akan memberitahu docker bahwa kita akan membangun image dari nol.
FROM scratch
scratch adalah sebuah reserved image (image khusus) di Docker yang benar-benar kosong, tidak memiliki sistem operasi (tidak memiliki Userland). Jika kita menggunakan FROM scratch, artinya kita memulai dengan filesystem yang hampa.
2️⃣ Instruksi LABEL (Metadata Image)
Instruksi LABEL digunakan untuk menambahkan metadata (informasi tambahan) ke dalam image Anda. Informasi ini tidak memengaruhi cara aplikasi berjalan, tetapi sangat berguna untuk organisasi dan dokumentasi.
- Fungsi: Menyimpan informasi seperti pembuat, versi, deskripsi, atau lisensi.
- Sintaks:
LABEL <key>=<value>
Contoh:
LABEL maintainer="ucup@gmail.com"
LABEL version="1.0"
LABEL description="Aplikasi Java Spring Boot untuk Inventaris"
LABEL build_date="2026-01-18"
Atau bisa dibuat satu baris:
LABEL maintainer="Ucup Topekox" email="ucup@gmail.com" environtment="development"