Panduan Pemula Docker: Mulai Cepat Mengontainerisasi Aplikasi Anda

2/18/2026
6 min read

Panduan Pemula Docker: Mulai Cepat Mengontainerisasi Aplikasi Anda

Docker telah menjadi bagian tak terpisahkan dari pengembangan dan penerapan perangkat lunak modern. Meskipun diskusi seputar Kubernetes sangat luas, Docker tetap menjadi alat pilihan bagi banyak perusahaan untuk membangun, menguji, dan menerapkan aplikasi. Artikel ini akan membawa Anda memulai dengan cepat dengan Docker, memahami konsep intinya, dan memberikan contoh praktis untuk membantu Anda memulai mengontainerisasi aplikasi Anda.

Konsep Inti Docker

Sebelum memulai praktik, penting untuk memahami beberapa konsep inti Docker:

  • Image (Citra): Image adalah templat hanya-baca yang berisi semua yang dibutuhkan untuk menjalankan aplikasi: kode, lingkungan runtime, alat sistem, pustaka, dan dependensi. Mirip dengan image mesin virtual, tetapi lebih ringan.

  • Container (Kontainer): Container adalah instance yang berjalan yang dibuat dari image. Ini adalah instance runtime dari image, yang berisi aplikasi dan semua dependensinya. Container saling terisolasi, memiliki sistem file, proses, dan ruang jaringan sendiri.

  • Docker Hub: Docker Hub adalah repositori image publik tempat Anda dapat mengunduh image yang telah dibuat sebelumnya, atau mengunggah image Anda sendiri. Mirip dengan GitHub, tetapi khusus untuk image Docker.

  • Dockerfile: Dockerfile adalah file teks yang berisi semua instruksi untuk membangun image Docker. Dengan menulis Dockerfile, Anda dapat mengotomatiskan proses pembuatan image.

  • Docker Compose: Docker Compose adalah alat untuk mendefinisikan dan menjalankan aplikasi Docker multi-kontainer. Ini memungkinkan Anda menggunakan file YAML untuk mengonfigurasi layanan aplikasi, lalu menggunakan satu perintah untuk memulai atau menghentikan semua layanan.

Instalasi Docker

Pertama, Anda perlu menginstal Docker. Docker menyediakan paket instalasi untuk berbagai sistem operasi. Kunjungi Situs Web Resmi Docker, dan ikuti petunjuk yang sesuai untuk instalasi.

Setelah instalasi selesai, Anda dapat memverifikasi apakah Docker telah diinstal dengan benar dengan menjalankan perintah docker --version.

Mengontainerisasi Aplikasi Python Sederhana

Kita akan membuat aplikasi Python sederhana, dan menggunakan Docker untuk mengontainerisasinya.

1. Membuat Aplikasi Python

Buat file bernama app.py, yang berisi kode berikut:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Aplikasi Flask sederhana ini akan mengembalikan "Hello, Docker!" pada jalur root /.

2. Membuat File requirements.txt

Aplikasi bergantung pada pustaka Flask, kita perlu membuat file requirements.txt untuk mendeklarasikan dependensi ini.

Flask

3. Membuat Dockerfile

Buat file bernama Dockerfile, dan tambahkan konten berikut:

# Menggunakan image Python resmi sebagai image dasar
FROM python:3.9-slim-buster

# Mengatur direktori kerja
WORKDIR /app

# Menyalin file requirements.txt ke direktori kerja
COPY requirements.txt .

# Menginstal dependensi
RUN pip install --no-cache-dir -r requirements.txt
# Menyalin kode aplikasi ke direktori kerja
COPY app.py .

# Membuka port 5000
EXPOSE 5000

# Mendefinisikan perintah untuk memulai
CMD ["python", "app.py"]

Penjelasan Dockerfile:

  • FROM python:3.9-slim-buster: Menentukan image dasar sebagai versi ringkas dari Python 3.9.
  • WORKDIR /app: Menetapkan direktori kerja di dalam container menjadi /app.
  • COPY requirements.txt .: Menyalin file requirements.txt dari direktori saat ini ke direktori /app di dalam container.
  • RUN pip install --no-cache-dir -r requirements.txt: Menjalankan perintah pip di dalam container untuk menginstal dependensi yang ditentukan dalam file requirements.txt. Parameter --no-cache-dir dapat mengurangi ukuran image.
  • COPY app.py .: Menyalin file app.py dari direktori saat ini ke direktori /app di dalam container.
  • EXPOSE 5000: Mendeklarasikan bahwa container akan mendengarkan port 5000.
  • CMD ["python", "app.py"]: Mendefinisikan perintah yang akan dieksekusi saat container dimulai.

4. Membangun Image Docker

Di direktori yang berisi Dockerfile, jalankan perintah berikut untuk membangun image Docker:

docker build -t my-python-app .
  • docker build: Perintah untuk membangun image.
  • -t my-python-app: Memberi nama pada image (my-python-app).
  • .: Menentukan direktori tempat Dockerfile berada (direktori saat ini).

Proses pembangunan mungkin memerlukan waktu beberapa saat, tergantung pada kecepatan jaringan dan ukuran dependensi.

5. Menjalankan Container Docker

Jalankan container Docker menggunakan perintah berikut:

docker run -d -p 5000:5000 my-python-app
  • docker run: Perintah untuk menjalankan container.
  • -d: Menjalankan container dalam mode detached (berjalan di latar belakang).
  • -p 5000:5000: Memetakan port 5000 dari host ke port 5000 di dalam container.
  • my-python-app: Menentukan nama image yang akan digunakan.

6. Memverifikasi Aplikasi

Kunjungi http://localhost:5000 di browser Anda, dan Anda seharusnya melihat "Hello, Docker!".

7. Menghentikan dan Menghapus Container

Gunakan perintah berikut untuk menghentikan container:

docker stop 

`` dapat dilihat melalui perintah docker ps.

Gunakan perintah berikut untuk menghapus container:

docker rm 

Memulai dengan Docker Compose

Jika aplikasi Anda terdiri dari beberapa layanan, Anda dapat menggunakan Docker Compose untuk mengelolanya.

1. Membuat File docker-compose.yml

Buat file bernama docker-compose.yml, dan tambahkan konten berikut:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

Penjelasan docker-compose.yml:* version: "3.9": Menentukan versi file Docker Compose.

  • services: Mendefinisikan layanan aplikasi.
  • web: Mendefinisikan layanan bernama "web".
  • image: my-python-app: Menentukan image yang digunakan oleh layanan.
  • ports: Mendefinisikan pemetaan port.

2. Memulai Aplikasi

Di direktori yang berisi file docker-compose.yml, jalankan perintah berikut untuk memulai aplikasi:

docker-compose up -d
  • docker-compose up: Perintah untuk memulai aplikasi.
  • -d: Menjalankan kontainer dalam mode detached (terpisah).

3. Menghentikan Aplikasi

Gunakan perintah berikut untuk menghentikan aplikasi:

docker-compose down

Praktik Terbaik Keamanan Docker

Seperti yang dapat dilihat dari diskusi, keamanan image Docker adalah masalah penting. Berikut adalah beberapa praktik terbaik keamanan Docker:

  • Gunakan Image Resmi: Sebisa mungkin gunakan image yang disediakan secara resmi, karena image ini biasanya telah dipindai dan dipelihara keamanannya.
  • Pindai Kerentanan Image: Gunakan alat seperti Trivy untuk memindai kerentanan yang diketahui dalam image, dan perbarui image secara berkala.
  • Gunakan Prinsip Hak Akses Terkecil: Hindari menjalankan kontainer sebagai pengguna root.
  • Batasi Sumber Daya Kontainer: Gunakan cgroups untuk membatasi penggunaan CPU dan memori kontainer.
  • Perbarui Image Secara Teratur: Jaga agar image tetap diperbarui untuk memperbaiki kerentanan keamanan.
  • Gunakan Alat Pemindaian Keamanan: Alat seperti Snyk, Clair, dll. dapat diintegrasikan ke dalam alur CI/CD Anda untuk secara otomatis memindai kerentanan image.

KesimpulanArtikel ini menyediakan panduan memulai cepat Docker, mencakup konsep inti, langkah-langkah instalasi, dan contoh kontainerisasi aplikasi Python sederhana. Dengan mempelajari dasar-dasar ini, Anda dapat mulai menggunakan Docker untuk membangun, menguji, dan menyebarkan aplikasi Anda. Ingat, keamanan sangat penting, selalu perhatikan keamanan image Docker, dan ambil langkah-langkah yang tepat untuk melindungi aplikasi Anda. Meskipun Kubernetes sangat kuat dalam orkestrasi kontainer skala besar, Docker masih menjadi solusi yang sederhana dan efektif dalam banyak skenario. Dengan menguasai Docker, Anda akan lebih siap menghadapi tantangan pengembangan dan penyebaran perangkat lunak modern.

Published in Technology

You Might Also Like