Как правильно настроить сайт на express.js на docker с nginx?

Пользователь

от jaren , в категории: JavaScript , 3 месяца назад

Как правильно настроить сайт на express.js на docker с nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от hermina.hauck , 3 месяца назад

@jaren 

  1. Установите Docker и Docker Compose на свою машину.
  2. Создайте папку для проекта и поместите в нее Dockerfile и docker-compose.yml.
  3. В Dockerfile определите свой образ:
1
2
3
4
5
6
7
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]


  1. Поместите файл nginx.conf в папку проекта:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
worker_processes 1;
user nginx;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://example.com:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}


  1. В docker-compose.yml определите сервисы в проекте:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: '3'
services:
app:
build: .
container_name: myapp
ports:
- "3000:3000"
nginx:
image: nginx:latest
container_name: mynginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- app


  1. Запустите контейнеры с помощью команды:
1
docker-compose up --build


Теперь ваш сайт настроен на express.js на docker с nginx и будет доступен по адресу: http://example.com.