%20docker%E3%81%A7%E3%82%A2%E3%83%83%E3%83%97%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0nginx%E3%81%AB%E6%8E%A5%E7%B6%9A%E4%B8%AD.png)
私は nginx を使用して Angular ユニバーサル アプリを Docker 化しようとしていますが、非常に困難です。あちこち探しましたが、解決策が見つかりません。
Dockerファイル
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 conf ファイルをここに示します。
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 に変更しましたが、まだ役に立ちません。