Docker & DevOps Fundamentals · Pelajaran

Memahami Dockerfile

Pelajari sintaks dan instruksi umum dalam Dockerfile untuk menentukan cara sebuah image dibuat.

Pelajaran 1 dari 412 langkah

Memahami Dockerfile adalah pelajaran Docker & DevOps Fundamentals gratis di CoddyKit. Ini adalah pelajaran 1 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 Docker & DevOps Fundamentals, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Docker & DevOps Fundamentals mencakup 4 pelajaran total.

Apa Itu Dockerfile?

Bayangkan Anda memiliki resep untuk membuat kue. Dockerfile sangat mirip dengan resep tersebut! Dockerfile adalah file teks biasa yang berisi semua instruksi yang diperlukan Docker untuk membangun image Docker secara otomatis.

Alih-alih mencampur bahan, Anda memberi tahu Docker OS dasar yang harus digunakan, perangkat lunak yang harus diinstal, dan cara menyiapkan aplikasi di dalam image.

Memahami Dockerfile — ilustrasi 1

Manfaat: Otomatisasi Pembangunan

Dockerfile memberikan banyak keuntungan dalam alur kerja pengembangan Anda:

  • Otomatisasi: Tidak ada lagi langkah manual! Docker membangun image secara konsisten setiap kali.
  • Pengendalian Versi: Dockerfile adalah kode, sehingga Anda dapat melacak perubahan menggunakan Git.
  • Dapat Diulang: Siapa pun yang memiliki Dockerfile dapat membangun image yang sama persis.
  • Transparansi: Anda dapat melihat dengan tepat isi sebuah image.

Struktur Dasar Dockerfile

Dockerfile adalah daftar instruksi yang dijalankan secara berurutan dari atas ke bawah. Setiap instruksi membuat lapisan baru pada image.

Sintaks dasarnya sederhana:

INSTRUCTION arguments

Komentar diawali dengan #, sama seperti dalam banyak bahasa pemrograman. Instruksi Docker tidak membedakan huruf besar dan kecil, tetapi konvensinya adalah menggunakan huruf besar.

Memilih Image Dasar dengan FROM

Setiap Dockerfile harus dimulai dengan instruksi FROM. Instruksi ini menentukan image dasar yang akan menjadi dasar pembangunan image baru Anda. Image dasar biasanya berisi OS (seperti Alpine Linux) dan terkadang perangkat lunak yang telah terinstal.

Anggaplah ini sebagai pemilihan titik awal—kanvas kosong atau kanvas yang sudah memiliki beberapa warna dasar.

FROM alpine:latest

Menjalankan Perintah dengan RUN

Instruksi RUN digunakan untuk menjalankan perintah selama proses pembangunan image. Di sinilah Anda menginstal paket, membuat direktori, atau mengompilasi kode.

Setiap perintah RUN membuat lapisan baru, sehingga menggabungkan perintah dengan && dapat membantu mengurangi ukuran image.

RUN apk update && apk add git

Perintah Bawaan dengan CMD

Instruksi CMD menyediakan perintah atau argumen bawaan untuk container yang sedang dijalankan. Berbeda dengan RUN, perintah CMD dijalankan saat container dimulai, bukan selama pembangunan.

Jika Anda menentukan perintah saat menjalankan container (misalnya, docker run my-image ls), perintah tersebut akan menggantikan instruksi CMD.

CMD ["echo", "Hello from container!"]

Menambahkan File dengan COPY

Instruksi COPY menyalin file atau direktori baru dari mesin host Anda (tempat Anda membangun image) ke sistem file image Docker pada jalur yang ditentukan.

Instruksi ini umumnya lebih disukai daripada ADD karena lebih transparan dan hanya menyalin file lokal.

COPY ./app /usr/src/app

Direktori Kerja & Variabel Lingkungan

WORKDIR menetapkan direktori kerja untuk setiap instruksi RUN, CMD, ENTRYPOINT, COPY, dan ADD yang mengikutinya. Instruksi ini membuat Dockerfile Anda lebih rapi.

ENV menetapkan variabel lingkungan. Variabel ini tersedia bagi instruksi berikutnya dalam Dockerfile dan juga bagi container yang sedang berjalan.

WORKDIR /app
ENV PORT=8080

Memberi Informasi tentang Port dengan EXPOSE

Instruksi EXPOSE memberi tahu Docker bahwa container mendengarkan pada port jaringan yang ditentukan saat runtime. Instruksi ini tidak benar-benar menerbitkan port tersebut.

Anggaplah ini sebagai dokumentasi. Untuk benar-benar membuat port dapat diakses dari luar container, Anda perlu menggunakan opsi -p dengan docker run.

EXPOSE 80
EXPOSE 443

Dockerfile Sederhana Pertama Anda

Mari gabungkan semuanya! Berikut Dockerfile dasar yang menyiapkan image Alpine Linux, menginstal sebuah paket, dan menetapkan perintah bawaan.

Untuk membangunnya, simpan file tersebut sebagai Dockerfile di direktori kosong, lalu jalankan docker build -t my-simple-app . di terminal Anda.

FROM alpine:latest

LABEL maintainer="CoddyKit"

RUN apk update && apk add --no-cache bash

WORKDIR /app

CMD ["bash", "-c", "echo 'Hello from my custom Alpine image!' && sleep 3600"]

Kuis Instruksi Dockerfile

Uji pengetahuan Anda! Instruksi mana yang dijalankan selama proses pembangunan image dan secara langsung mengubah isi atau struktur image?

Rekap: Dasar-Dasar Dockerfile

Anda telah mengambil langkah besar dalam memahami image Docker! Kita telah mempelajari bahwa Dockerfile adalah file teks berisi instruksi untuk membangun image, dengan manfaat besar seperti otomatisasi dan kemampuan untuk membangun ulang secara konsisten.

Instruksi utama yang telah dibahas:

  • FROM: Menentukan image dasar.
  • RUN: Menjalankan perintah selama pembangunan.
  • CMD: Menetapkan perintah bawaan untuk container yang berjalan.
  • COPY: Menambahkan file dari host ke image.
  • WORKDIR, ENV, EXPOSE: Mengonfigurasi lingkungan image dan container.
Gratis untuk memulai

Belajar Docker & DevOps Fundamentals dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memahami Dockerfile” gratis?

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

Apa yang akan aku pelajari di “Memahami Dockerfile”?

Pelajari sintaks dan instruksi umum dalam Dockerfile untuk menentukan cara sebuah image dibuat. Kamu berlatih Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals?

Tidak diperlukan pengalaman sebelumnya. Docker & DevOps Fundamentals 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 1 dari 4.

Berapa lama pelajaran “Memahami Dockerfile” 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 Docker & DevOps Fundamentals ini?

Ya. Setiap pelajaran Docker & DevOps Fundamentals 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. Memahami Dockerfile
  2. Membuat Image Docker Kustom
  3. Lapisan dan Optimasi Image
  4. Build Multi-Tahap dan Image yang Lebih Kecil
← Kembali ke Docker & DevOps Fundamentals