Halo, Sob! Nginx adalah web server open-source yang digunakan untuk melayani situs web statis atau dinamis dan kemampuan server HTTP dan proksi lainnya. Server ini dibangun untuk menangani sejumlah koneksi besar secara bersamaan, dan merupakan web server populer yang digunakan untuk meng-host beberapa situs terbesar dan dengan lalu lintas tinggi di internet.
Docker adalah alat kontainerisasi open-source populer yang digunakan untuk menyediakan lingkungan runtime yang portabel dan konsisten untuk aplikasi perangkat lunak, dengan mengonsumsi sumber daya yang lebih sedikit daripada server tradisional atau mesin virtual. Docker menggunakan kontainer, lingkungan ruang pengguna yang terisolasi yang berjalan pada tingkat sistem operasi dan berbagi sumber daya sistem seperti kernel dan sistem berkas.
Dengan mengkontainerkan Nginx, kamu dapat mengurangi beberapa overhead administrasi sistem. Misalnya, kamu tidak perlu mengelola Nginx melalui manajer paket atau membangunnya dari sumber. Kontainer Docker memungkinkan kamu untuk mengganti seluruh kontainer ketika versi baru Nginx dirilis. Dengan cara ini, kamu hanya perlu memelihara berkas konfigurasi Nginx dan konten yang kamu punya.
Dalam artikel ini akan membahas cara membuat laman web sederhana dengan mengonfigurasikan Nginx dengan kontainer Docker.
Prasyarat
- Memiliki hosting VPS Ubuntu aktif
- Sudah terinstal Docker di Ubuntu
Step 1: Buat Koneksi SSH VPS
Pertama, buat koneksi SSH ke VPS kamu melalui terminal. Jika menggunakan sistem operasi Windows, kamu bisa menggunakan PuTTY.
Detail informasi awal layanan kamu bisa diakses pada Informasi Awal Layanan VM.
Step 2: Download Nginx dari Docker Hub
Unduh Nginx dari image Docker yang tersedia di Docker Hub sehingga sudah ada konfigurasi default. Docker akan menyimpannya dalam cache, jadi kamu tidak perlu mengunduh ulang setiap kali menjalankan container.
docker pull nginx
Agar container Nginx bisa diakses sebagai web server, jalankan:
docker run --name docker-nginx -p 80:80 nginx
Penjelasannya:
- run: untuk membuat dan menjalankan container baru.
- –name docker-nginx: memberi nama docker-nginx pada container.
- -p 80:80: membuka port 80 dari komputer lokal ke port 80 di dalam container.
- nginx: nama image yang digunakan.
Sekarang kalau kamu akses http://ip-server-kamu:80 di web browser kamu akan melihat halaman default Nginx. Terminal akan menampilkan log Nginx setiap kali ada permintaan, karena container berjalan dalam mode interaktif.

Tekan CTRL+C untuk menghentikan container.
Kemudian periksa status container dengan:
docker ps -a
Outputnya akan menunjukkan bahwa container telah Exited (berhenti), jadi tidak ada container yang terlihat. Karena perintah tersebut hanya menampilkan container yang sedang berjalan.
Hapus container dengan:
docker rm docker-nginx
Step 3: Menjalankan dalam Mode Terpisah (Detach Mode)
Buat container Nginx baru dan jalankan di latar belakang:
docker run --name docker-nginx -p 80:80 -d nginx
-d: menandakan bahwa container dijalankan di background (detached mode). Output akan menampikan ID container di terminal. Periksa dengan:
docker ps
Outputnya terlihat seperti:

Penjelasan:
- Kolom STATUS akan menunjukkan Up, artinya container sedang berjalan.
- Port 80 server dihubungkan ke port 80 container, terlihat pada bagian PORTS.
Coba akses http://ip-server-kamu:80 di web browser untuk melihat landing page Nginx.
Untuk menghentikan container, jalankan:
docker stop docker-nginx
Kemudian untuk hapus, jalankan:
docker rm docker-nginx
Step 4: Membuat Halaman Web Sederhana
Pertama, buat direktori untuk menyimpan file website:
mkdir -p ~/docker-nginx/html
cd ~/docker-nginx/html
Lalu buat file html.
sudo nano index.html
Masukkan baris kode berikut:
<html>
<head>
<title>Docker nginx Tutorial</title>
</head>
<body>
<div class=”container”>
<h1>Hello Sobat Jagoan</h1>
<p>This Nginx page is brought to you by Docker and Jagoan Hosting</p>
</div>
</body>
</html>
Tekan CTRL+X, Y lalu Enter untuk menyimpan perubahan dan keluar dari editor.
Step 5: Menghubungkan Container ke Sistem File Lokal
Di sini tujuannya agar Nginx bisa menampilkan file HTML yang tadi kamu buat. Docker mendukung fitur volume agar folder di komputer lokal bisa digunakan oleh container. Jalankan perintah:
docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx
Penjelasan:
- -v: flag untuk volume (tautan simbolik).
- ~/docker-nginx/html: direktori di komputer kamu.
- /usr/share/nginx/html: lokasi default tempat Nginx mencari file.
Setelah itu, buka http://ip-server-kamu:80 di web browser untuk melihat halaman web yang sudah dibuat tadi.

Kamu juga bisa menambahkan file ke ~/docker-nginx/html dan otomatis akan muncul di situs. Caranya:
1. Tambahkan file baru.
nano ~/docker-nginx/html/about.html
2. Isi dengan HTML sederhana, misalnya:
<html>
<head><title>About Page</title></head>
<body>
<h1>Ini halaman tentang</h1>
<p>Cara menjalankan Nginx di Docker Container</p>
</body>
</html>
Simpan dan keluar, CTRL+X, Y lalu Enter.
3. Akses di browser dengan http://ip-server-kamu/about.html

Ini karena kamu sudah me-mount folder lokal (~/docker-nginx/html) ke dalam container pada direktori /usr/share/nginx/html. Itu adalah folder default tempat Nginx menyajikan file web. Jadi setiap file yang kamu tambahkan ke folder lokal itu akan langsung bisa diakses lewat browser tanpa perlu restart container.
Dengan kombinasi Docker dan Nginx di Ubuntu ini kamu sudah mempraktikkan cara sederhana membuat server web statis. Enaknya menggunakan container Docker ini adalah kamu bisa membuat halaman web tanpa mematikan container yang sedang berjalan di background. Bahkan itu adalah salah satu tujuan utama menggunakan Docker: menjalankan layanan (seperti web server) di background sambil kamu tetap bisa bekerja, mengedit file, atau melakukan hal lain. Kalau menurutmu gimana pengalaman kamu setelah menggunakan Docker container untuk menjalankan aplikasi?
Kalau ada yang masih bingung kamu bisa hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket ya, Sob!
Halo, Sobat Jagoan! PHPMyAdmin adalah alat berbasis web yang memungkinkan kamu untuk mengelola database MySQL atau MariaDB melalui browser dengan Read more
Halo, Sobat Jagoan! Karena phpMyAdmin itu sering dipakai di mana-mana, banyak hacker yang suka mencoba masuk ke phpMyAdmin tanpa izin. Read more
Halo, Sobat Jagoan! Kamu mungkin sudah familiar dengan MySQL, tetapi tahukah kamu bahwa MariaDB menawarkan fitur yang serupa bahkan lebih Read more
Halo, Sobat Jagoan! Setelah kamu berhasil melakukan instalasi MariaDB, hal dasar yang bisa kamu lakukan yaitu membuat database baru untuk Read more