Panduan Linux

Cara Menggunakan NGINX dengan Docker dan Docker Compose

Halo, teman-teman! Kali ini kita bakal bahas tentang cara menggunakan NGINX dengan Docker dan Docker Compose. Buat kalian yang belum tau, NGINX tuh web server yang keren banget, bisa buat nge-host website, reverse proxy, load balancer, dan banyak lagi. Nah, Docker dan Docker Compose tuh tools yang bikin kita bisa nge-deploy aplikasi dengan gampang dan konsisten di berbagai lingkungan. Yuk, kita mulai!

1. Instalasi Docker dan Docker Compose

Pertama-tama, pastiin dulu kalian udah punya Docker dan Docker Compose di komputer kalian. Kalo belum, kalian bisa download dan install dari situs resmi Docker.

2. Buat Direktori Proyek

Buat direktori baru buat proyek kalian. Misalnya, kita buat direktori dengan nama nginx-docker.

mkdir nginx-docker
cd nginx-docker

3. Buat File Dockerfile

Di dalam direktori nginx-docker, buat file dengan nama Dockerfile (tanpa ekstensi). Isi file ini dengan konfigurasi buat NGINX.

FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY index.html /usr/share/nginx/html/index.html

Penjelasan:

4. Buat File nginx.conf

Buat file nginx.conf di direktori yang sama. Ini adalah file konfigurasi NGINX.

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

5. Buat File index.html

Buat file index.html di direktori yang sama. Ini adalah halaman web sederhana yang bakal ditampilkan oleh NGINX.

<!DOCTYPE html>
<html>
<head>
    <title>NGINX with Docker</title>
</head>
<body>
    <h1>Hello, NGINX with Docker!</h1>
</body>
</html>

6. Buat File docker-compose.yml

Buat file docker-compose.yml di direktori yang sama. Ini adalah file konfigurasi Docker Compose.

version: '3.8'
services:
  nginx:
    build: .
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./index.html:/usr/share/nginx/html/index.html

Penjelasan:

7. Build dan Jalankan dengan Docker Compose

Sekarang, kita bisa build dan jalankan container NGINX dengan Docker Compose.

docker-compose up --build

Setelah perintah ini dijalankan, Docker Compose bakal build image dan menjalankan container NGINX. Kalian bisa akses NGINX di browser dengan membuka http://localhost.

8. Cek Logs

Kalo kalian mau liat logs dari container NGINX, kalian bisa pake perintah:

docker-compose logs

9. Stop Container

Kalo kalian mau stop container, kalian bisa pake perintah:

docker-compose down

10. Custom Konfigurasi NGINX

Kalo kalian mau nambahin custom konfigurasi NGINX, kalian bisa nambahin file konfigurasi di direktori conf.d di dalam container. Misalnya, kalian bisa buat file default.conf di direktori proyek kalian, lalu mount ke /etc/nginx/conf.d/default.conf di dalam container.

volumes:
  - ./default.conf:/etc/nginx/conf.d/default.conf

Kesimpulan

Nah, gampang kan? Dengan Docker dan Docker Compose, kita bisa nge-deploy NGINX dengan mudah dan konsisten. Kalian bisa nge-custom konfigurasi NGINX sesuai kebutuhan kalian. Selamat mencoba!

#Nginx #Docker #Tutorial