การทำ reverse proxy server nginx
– เริ่มต้นจากการสร้าง Dockerfile
FROM nginx
RUN apt-get update -y
# Install certbot for letsencrypt
RUN echo "deb http://deb.debian.org/debian stretch-backports main contrib non-free" >> /etc/apt/sources.list
RUN echo "deb-src http://deb.debian.org/debian stretch-backports main contrib non-free" >> /etc/apt/sources.list
RUN apt-get -y update
#RUN apt-get -y install python-certbot-nginx -t stretch-backports
RUN apt-get -y install certbot python-certbot-nginx
RUN apt-get -y install cron
RUN apt-get -y install vim
# Define working directory.
WORKDIR /etc/nginx
# Define default command.
# Expose ports.
#EXPOSE 80
EXPOSE 443
#CMD ["/usr/sbin/nginx"]
– การสร้าง docker-compose.yml
version: "2"
  
services:
  reverseproxy:
    build:
      context: .
      dockerfile: ./Dockerfile
    volumes:
      - "./config/nginx.conf:/etc/nginx/nginx.conf"
      - "./certs:/etc/letsencrypt"
    restart: always
    ports:
      - "80:80"
      - "443:443"
    networks:
      - custom_network
networks:
  custom_network:
    external:
      name: nginx-network
– สร้างไฟล์ config/nginx.conf 
events {
  worker_connections  4096;  ## Default: 1024
}
http {
  
    client_max_body_size 100M;
    upstream web {
        # change to real IP server
        server webwp;  # web container ที่เราต้องการชี้ไป
    }
   
    server {
            listen 80;
            #listen 443 ssl;
            server_name xxxxxxx.com;
            location / {
                proxy_pass         http://web;  # web container ที่เราต้องการชี้ไป
                proxy_redirect     off;
                proxy_set_header   Host $host;
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header   X-Forwarded-Host $server_name;
            }
     }
}
– การ Build Server
Run คำสั่ง 
- docker-compose build
- docker-compose up -d
Output 
proxy_reverseproxy_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:443->443/tcp,:::443->443/tcp, 0.0.0.0:80->80/tcp,:::80->80/tcp