Docker 部署宝塔面板 Nginx 反向代理 502 踩坑实录

Docker 部署宝塔面板 Nginx 反向代理 502 踩坑实录

一、问题描述

最近在使用 Docker 部署宝塔面板,配置 Nginx 反向代理宿主机端口服务时,遇到以下问题:

  • 访问 127.0.0.1:20000/api502 Bad Gateway
  • 宿主机直接访问 6688 / 6689 端口正常
  • 日志/页面提示:invalid linklink dead

宿主机端口正常,但容器内 Nginx 代理不通,这是非常典型的 Docker 网络误区。


二、核心原因:99% 的人都错在这里

❌ 错误写法(添加反向代理宝塔默认生成)

nginx 复制代码
proxy_pass http://127.0.0.1:6688;

为什么错?

在 Docker 容器内部:

127.0.0.1 = 容器自己

不是宿主机!

容器访问自己的端口,当然找不到服务 → 直接 502。

三、正确方案:host.docker.internal

✅ 正确写法

nginx 复制代码
proxy_pass http://host.docker.internal:6688;

作用解释

host.docker.internal 是 Docker 官方内置的固定域名作用:让容器内部访问到宿主机

重启nginx即可

四、云服务器没有host.docker.internal

nginx 复制代码
proxy_pass http://host.docker.internal:6688;

替换为:

nginx 复制代码
proxy_pass http://172.17.0.1:6688;

172.17.0.1 = Docker 默认网关

宿主机 ↔ 所有容器 都能通过这个 IP 互相访问

不管 6688 / 6689 都能通

本地能用,云服务器也能用

相关推荐
梦梦代码精4 小时前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
杨了个杨89825 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
鹤落晴春7 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
极客先躯8 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
My is 李豆9 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯10 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
kong@react11 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
某林21211 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_7381207212 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
simeple12 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker