Подскажите, пожалуйста, первый раз использую docker с nginx для запуска проекта через облачный сервер, но на этапе сборки выдаёт ошибку в файле docker. У меня есть 2 докер файла для fornt и back, как они выглядят:
Бэк
FROM node:18
WORKDIR /backend
COPY package.json package-lock.json ./
RUN npm install
COPY . .
CMD ["node", "mailer.js"]
Фронт
FROM node:alpine as build
WORKDIR /frontend
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:stable-alpine
COPY --from=build /build /usr/share/nginx/html
COPY --from=build nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 3000
CMD ["nginx", "-g", "daemon off;"]
В папке с фронтом также есть nginx.conf:
server {
listen 3000;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri/ /index.html=404;
}
include /etc/nginx/extra-conf.d/*.conf;
}
В обще директории есть nginx.conf и docker-compose.yaml:
nginx.conf
user root;
worker_processes 1;
events {
}
http {
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://frontend:3000/;
}
location /api/ {
proxy_pass http://backend:8000/;
}
}
}
docker-compose.yaml
networks:
dev:
services:
nginx:
image: nginx:stable-alpine
ports:
- "80:80"
volumes:
- './nginx.conf:/etc/nginx//nginx.conf'
depends_on:
- backend
- frontend
networks:
- dev
backend:
build:
context: ./backend
networks:
- dev
frontend:
build:
context: ./frontend
networks:
- dev
На этапе копирования в docker файле для фронта, происходит ошибка, с чем это связано я не понял. Команды, которые выдаю ошибки:
ERROR [frontend stage-1 2/3] COPY --from=build /build /usr/share/nginx/html
ERROR [frontend stage-1 3/3] COPY --from=build nginx.conf /etc/nginx/conf.d/default.conf
Также пытался запустить без этих двух команд, но тогда сервер с приложением отдаёт 502 ошибку
nginx/1.26.2
В чём может быть ошибка и как исправить её?