© 2026 Basis Pengetahuan Cloudkilat. Hak Cipta Dilindungi.

|
>
>
  1. Beranda
  2. Aplikasi
  3. Docker
  4. Memahami Port Mapping pada Docker

Memahami Port Mapping pada Docker

Yuk kenali apa itu Port Mapping di Docker dan kenapa fitur ini penting saat menjalankan aplikasi di dalam container. Lewat artikel ini kamu akan belajar konsep dasarnya dengan cara yang mudah dipahami, lengkap dengan contoh praktis dan tips bermanfaat.

Waktu baca: 5 menit • Lihat progres baca di bar atas
Oleh Fadly Ilham Fatahilah
Dipublikasikan 20 Oktober 2025
DockervpscontainercontainerizationDevOps

Halo, Kawan Belajar!

Ketika kita menjalankan aplikasi di dalam Docker container, setiap container memiliki lingkungan (environment) dan jaringan yang terisolasi dari sistem host maupun container lainnya. Kelebihan ini membuat aplikasi jadi lebih aman dan mudah dikelola, tapi ada satu konsekuensi penting yakni aplikasi di dalam container tidak bisa diakses langsung dari luar, seperti dari browser.

Nah, agar aplikasi tersebut dapat diakses dari luar, Docker menyediakan fitur yang disebut Port Mapping (atau Port Publishing). Fitur ini berfungsi untuk menghubungkan port di host dengan port di dalam container, ibarat membuka "pintu akses” agar dunia luar bisa berkomunikasi dengan aplikasi yang berjalan di container.

Apa Itu Port Mapping?

Secara sederhana, Port Mapping adalah proses memetakan port yang digunakan di dalam container ke port di sistem host. Setiap container punya port internal sendiri (misalnya NGINX mendengarkan di port 80). Namun, tanpa port mapping, port 80 itu hanya bisa diakses dari dalam container itu sendiri.

Untuk membuka akses dari luar, kita gunakan opsi -p saat menjalankan container:

docker run -d -p <HostPort>:<ContainerPort> <docker_image>

Contoh sederhana:

docker run -d -p 8080:80 nginx

Artinya:

  • 80 → port di dalam container (port default NGINX)
  • 8080 → port di host (yang bisa diakses melalui browser)

Sekarang, kalau kamu buka di browser:

http://Alamat_IP:8080

maka halaman default NGINX akan tampil. 🎉

Penggunaan Dasar Port Mapping

Berikut adalah beberapa variasi umum yang bisa kamu gunakan saat melakukan port mapping:

1. Menentukan port secara manual

Ini adalah bentuk paling umum, kamu menentukan port host dan port container secara eksplisit:

docker run -d -p 8080:80 nginx

2. Memetakan beberapa port sekaligus

Kamu bisa menambahkan beberapa opsi -p dalam satu perintah:

docker run -d -p 8080:80 -p 8443:443 nginx

Perintah ini membuka dua port pada host, masing-masing terhubung ke HTTP (80) dan HTTPS (443) di container.

3. Melihat port mapping aktif

Untuk melihat port mapping yang sedang berjalan:

docker port <nama_container>

Melihat Port yang Aktif

Gambar 1: Melihat Port yang Aktif

Contoh hasil:

  • 80/tcp -> 0.0.0.0:8080
  • 80/tcp -> [::]:8080
  • 443/tcp -> 0.0.0.0:8443
  • 443/tcp -> [::]:8443

Penjelasan:

  • Port 80/tcp → 0.0.0.0:8080
    → Port 80 di dalam container (HTTP) dipetakan ke port 8080 di host.

  • Port 443/tcp → 0.0.0.0:8443
    → Port 443 di dalam container (HTTPS) dipetakan ke port 8443 di host.

  • Alamat 0.0.0.0 dan [::] menunjukkan bahwa port tersebut terbuka di semua interface jaringan host, baik IPv4 maupun IPv6.

4. Menggunakan Ephemeral Port

Kadang, kamu ingin mem-publish port container tanpa peduli port host berapa yang digunakan. Docker bisa secara otomatis memilih port acak (ephemeral) untuk kamu.

Cukup hilangkan HOST_PORT:

docker run -d -p 80 nginx

Kemudian jalankan:

docker ps

Hasilnya akan menampilkan port acak di host seperti contoh berikut:

Melihat Port Ephemeral yang DIberikan

Gambar 2: Melihat Port Ephemeral yang DIberikan

Artinya, aplikasi Nginx yang berjalan di port 80 dalam container bisa diakses di port 32768 di host.

Catatan Penting: Port Mapping Hanya Berlaku Saat Container Dijalankan

Perlu kamu tahu bahwa konfigurasi port mapping hanya bisa ditentukan saat container dijalankan pertama kali, yaitu menggunakan perintah docker run dengan opsi -p atau --publish.

Kalau kamu ingin mengubah port mapping yang sedang aktif digunakan, cara satu-satunya adalah menjalankan ulang (relaunch) container dengan konfigurasi port baru.

Langkah-langkahnya:

  1. Berhentikan container lama:

    docker stop <nama_container>
    
  2. Hapus container lama (image tetap aman):

    docker rm <nama_container>
    
  3. Jalankan ulang container dengan port baru:

    docker run -d --name <nama_container> -p <HostPort>:<ContainerPort> <image>
    

💡 Tips: Jika container kamu menyimpan data penting, pastikan menggunakan volume (-v) agar data tidak hilang saat container dihapus dan dijalankan ulang. Baca lebih lanjut tentang Docker Volume disini: Memahami Docker Volume untuk Persistent Storage

Port Mapping Menggunakan Docker Compose

Selain melalui docker run, kita juga bisa melakukan port mapping menggunakan Docker Compose, yang sangat membantu jika kamu mengelola beberapa container sekaligus.

  1. Buat file compose.yaml
services:
  web:
    image: nginx
    ports:
      - "8080:80"

Penjelasan:

  • services: → mendefinisikan layanan yang akan dijalankan.
  • image: → nama image yang digunakan.
  • ports: → menentukan port mapping, dengan format yang sama seperti docker run -p HOST:CONTAINER.
  1. Jalankan aplikasi
    Di direktori tempat file compose.yaml berada, jalankan:

    docker compose up -d
    
  2. Cek status container

    docker compose ps
    

    Melihat Container yang Berjalan

    Gambar 3: Melihat Container yang Berjalan

    Sekarang kamu bisa mengaksesnya di:

    http://Alamat_IP:8080
    

    Default Page Nginx

    Gambar 4: Default Page Nginx

  3. Mapping beberapa port di Compose
    Kamu juga bisa menambahkan lebih dari satu port:

    ports:
     - "8080:80"
     - "8443:443"
    

Penutup

Dengan memahami port mapping di Docker, kamu bisa lebih mudah mengontrol bagaimana aplikasi di dalam container berinteraksi dengan dunia luar. Fitur ini penting banget, terutama saat kamu menjalankan web server, API, atau layanan lain yang perlu diakses pengguna.

Kalau kamu masih baru dalam dunia Docker, jangan khawatir! Kamu bisa mulai dari artikel dasar kami di sini:
👉 Mengenal Docker: Penjelasan, Cara Kerja, dan Keuntungannya

Dan buat kamu yang ingin bereksperimen langsung menjalankan Docker container, kamu bisa menggunakan VPS CloudKilat yakni Kilat VM 2.0. Pada Kilat VM 2.0, kamu bisa menginstal Docker, mencoba berbagai konfigurasi, serta melakukan praktikum langsung, tentunya didampingi dengan performa yang andal, fleksibel, dan harga terjangkau.

Butuh bantuan lebih lanjut?

Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.

Hubungi Kami