This project demonstrates a Docker-based system composed of three services: a Node.js web server, a PostgreSQL database, and an Nginx reverse proxy. The goal is to simulate a production-ready architecture using Docker Compose and custom configurations.
The Docker image used in this exercise is available for download at the link above.
[User Browser]
β©
localhost:80 (Nginx)
β©
localhost:8080 (Node.js server)
β©
PostgreSQL (Database)
Nginxlistens on port80and forwards HTTP requests to the Node.js server on port8080.- The Node.js server communicates with the PostgreSQL database for application logic and data storage.
Create_Image/ # Dockerλ₯Ό νμ©ν μ΄λ―Έμ§ μμ± νλ‘μ νΈ λ£¨νΈ
βββ nginx/ # Nginx κ΄λ ¨ μ€μ ν΄λ
β βββ Dockerfile # Nginxμ© Docker μ΄λ―Έμ§ λΉλ μ€μ νμΌ
β βββ myconfig1.conf # μ¬μ©μ μ μ Nginx μ€μ νμΌ
β
βββ node_modules/ # Node.js μμ‘΄μ± ν΄λ (μλ μμ±)
β
βββ vol/ # λ³Όλ₯¨ λ§μ΄νΈλ₯Ό μν ν΄λ
β
βββ .dockerignore # Docker ignore
βββ .env
βββ .gitignore
β
βββ docker-compose.yml # μ¬λ¬ 컨ν
μ΄λλ₯Ό μ μνλ Compose μ€μ νμΌ
βββ Dockerfile # Node.js μ±μ μν Docker μ΄λ―Έμ§ μ μ
β
βββ package-lock.json # npm μμ‘΄μ± κ³ μ νμΌ
βββ package.json # νλ‘μ νΈ λ©νμ 보 λ° μμ‘΄μ± μ μ
βββ sever.js
β
βββ README.md
docker compose up --builddocker compose up -d nginx# Uncomment in docker-compose.yml
deploy:
mode: replicated
replicas: 3Run with:
docker compose --compatibility up