docker nginx代理-除非连接到本地主机,否则连接被拒绝

时间:2020-08-27 13:56:24

标签: docker nginx networking docker-compose reverse-proxy

无论我尝试什么,我似乎只能从localhost连接到我的容器。通过IP连接(例如192.168.0.100),连接被拒绝。

我尝试将代理配置为侦听适用于localhost的“ 80:80”,但没有其他选择,我尝试了“ 192.168.0.100:80:80”,这似乎根本不起作用。

我在Windows的docker上,所以我无法使用主机网络。

您知道在哪里断开连接吗?我使用了nginx-debug,但我认为它根本不会进入容器。

我的docker-compose.yml:

services:  
  service:
    build:
      context: ./service
      dockerfile: Dockerfile
    volumes:
      - ./service:/usr/src/app
      - /usr/src/app/node_modules
    command: npm start
    env_file:
      - .env
    expose:
      - "3000"
  proxy:
    image: nginx
    build:
      context: ./proxy
      dockerfile: Dockerfile
    depends_on:
      - service
      - sqldb
    ports:
      - "192.168.0.100:80:80"
      - "192.168.0.100:144:144"

代理的Dockerfile:

FROM nginx:1.19.2
ADD default.conf /etc/nginx/conf.d/default.conf
ADD 50x.html /usr/share/nginx/html/50x.html

和nginx配置:

upstream backend {
    server service:3000;
}

server {
    listen 80;

    error_page 500 502 503 504 /500.html;
    error_log /dev/stdout info;
    access_log /dev/stdout;

    location / {    
        proxy_pass http://backend;
    }
}

0 个答案:

没有答案