无论我尝试什么,我似乎只能从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;
}
}