1
我試圖運行節點和nginx裏面他們自己的碼頭容器和代理從nginx到節點。我試着在以下的配置沒有碼頭在第一次,它的工作。但是,當使用docker時,它不起作用,並在嘗試連接到http://localhost/
時給出Status Code:502 Bad Gateway
。502錯誤的網關與nginx和節點裏面的docker
節點服務器
var http = require('http');
http.createServer(function (req, res) {
res.setHeader('content-type', 'text/html');
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Request-Headers', '*');
res.setHeader('Access-Control-Request-Method', '*');
res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET');
res.setHeader('Access-Control-Allow-Headers', '*');
res.end('<html>Hey</html>');
}).listen(3001);
搬運工-compose.yml
version: '3'
services:
app:
build: ./servers
nginx:
build: ./nginx
depends_on:
- app
links:
- app
volumes:
- ./nginx/conf:/etc/nginx/conf.d:ro
ports:
- 80:80
nginx的CONF
server {
listen 80;
listen [::]:80;
location/{
proxy_pass http://app;
}
}
應用dockerfile
FROM node:alpine
RUN mkdir /app/
COPY ./server.js /app
EXPOSE 3001
WORKDIR /app
CMD node server
nginx的dockerfile
FROM nginx:alpine
RUN rm /etc/nginx/conf.d/*
哪裏'應用程序在你的NGINX配置指向? – robertklep
@robertklep它是docker-compose中的應用服務 – Ced
我對Docker不是很熟悉,所以我可能會問一些愚蠢的問題; D是否有一個映射到某個端口3001的節點服務器正在運行的地方(我看到它正在暴露,但我不知道NGINX在哪裏被告知使用它)。 – robertklep