Skip to main content

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
info

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"

3️⃣ Contoh Implementasi Gabungan

# Menggunakan base image spesifik (Best Practice)
FROM alpine:3.21.3

# Menambahkan identitas ke image (Metadata)
LABEL org.opencontainers.image.authors="Ucup Dev"
LABEL org.opencontainers.image.description="Linux Minimalis untuk Testing"
LABEL environment="production"

Cara Melihat Label Setelah Build

Jika image sudah jadi, kita bisa melihat label yang Anda buat menggunakan perintah inspect:

docker image inspect --format='{{.Config.Labels}}' <nama_image>

4️⃣ Build

Setelah Dockerfile selesai ditulis, kita harus mengubahnya menjadi Image menggunakan perintah docker build.

docker build -t <nama-image>:<tag> .

Contoh:

docker image build -t topekox/first-dockerfile:1.0.0 .
tip