%20%D0%BF%D1%80%D0%B8%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B8%20%D0%BA%20%D0%B2%D1%8B%D1%88%D0%B5%D1%81%D1%82%D0%BE%D1%8F%D1%89%D0%B5%D0%BC%D1%83%20nginx%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20docker.png)
Я пытаюсь докеризировать универсальное приложение Angular с помощью nginx, и это доставляет мне большие трудности. Я искал везде и не нашел решения.
Dockerfile
FROM node:14-alpine AS builder
WORKDIR /app
COPY . .
RUN npm i && npm run build:ssr
FROM nginx:alpine
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /app/dist/front-end-kevi .
ENTRYPOINT ["nginx", "-g", "daemon off;"]
В моем файле server.ts я запускаю приложение на порту 4000. Поэтому я запускаю образ Docker с помощью этой команды
docker run -d -p 4000:80 kevin
для справки, вот мой файл конфигурации nginx.
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
location ~* \.(eot|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
location / {
proxy_pass http://localhost:4000;
try_files $uri $uri/ =404;
}
location /OrderMationApi/api/v3/ {
proxy_pass http://102.133.225.222;
}
и я получаю эту ошибку в журналах ошибок
7#7: *1 connect() не удалось (111: соединение отклонено) при подключении к восходящему потоку, клиент: 172.17.0.1, сервер: localhost, запрос: "GET / HTTP/1.1", восходящий поток: "http://127.0.0.1:4000/", хост: "localhost:4000"
Я изменил localhost:4000 на 127.0.0.1:4000, но это все равно бесполезно.