You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器仅接受本地网络请求问题排查求助

Docker容器Nginx仅本地可访问,外网无响应问题

我在学习Docker时遇到一个未找到解决方案的问题:部署的Web服务器仅能被本地网络设备访问,外网设备请求无响应。

环境:运行Ubuntu Server的树莓派4,通过docker-compose.yml和Dockerfile创建运行Nginx的容器。

相关配置文件

docker-compose.yml

version: "3"

services:
  frontend:
    container_name: frontend
    build:
      context: ./client
      network: host
      dockerfile: Dockerfile
    ports:
      - "80:80"
    restart: unless-stopped

Dockerfile

FROM node AS build

# Set working directory
WORKDIR /client

# Copy files
COPY . .

# Install dependencies
RUN npm install

# Build frontend
RUN npm run build

# Nginx
FROM nginx
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build client/dist /usr/share/nginx/html

nginx.conf

server { 
    listen 80;
    listen [::]:80;
    server_name my-domain.be www.my-domain.be;
    location / {
        root /usr/share/nginx/html;
        try_files $uri /index.html;
    }
}

已做排查

  • 域名已正确指向公网IP,路由器已将树莓派设置为DMZ主机
  • 本地网络设备访问网页正常
  • 外网设备访问时服务器无响应,Nginx日志未收到任何GET请求
  • 通过tcpdump抓包发现,客户端的TCP握手请求未得到服务器确认
  • 直接在树莓派上安装配置Nginx时,外网访问正常,确定问题源于Docker网络配置

我对Docker网络部分缺乏经验,希望能找到问题根源及解决办法,如需更多信息可告知。

内容的提问来源于stack exchange,提问作者LaurensDW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:08:17