Portainer+Docker环境下Nginx显示Unhealthy及502 Bad Gateway问题的解决方法
解决树莓派Ubuntu 18.04环境下Nginx Proxy Manager重启后Unhealthy/502问题
我最近在树莓派3上部署了一套环境:Ubuntu 18.04系统,搭配Portainer 2.5.1、Docker/Docker-Compose、Nginx Proxy Manager(镜像用的是jc21/nginx-proxy-manager:latest),还有yobasystems/alpine-mariadb:10.4.17-arm32v7数据库,用来给Icecast2服务器提供HTTPS流服务。结果碰到了个头疼的问题——系统重启后,Nginx要么一直显示Unhealthy状态,要么访问时出现502 Bad Gateway错误。
试了不少方法后,终于找到了不用卸载或删除现有容器就能解决的方案,在我的场景里亲测有效,步骤如下:
- 切换到root身份,导航到
/home/user/nginx目录,删除Nginx反向代理的两个配置文件夹:data和letsencrypt - 如果Portainer正在运行,打开浏览器进入Portainer管理界面,切换到容器页面,重启
nginx_app_1容器 - 打开新标签页,访问
x.x.x.x:81进入Nginx Proxy Manager管理界面,持续刷新页面直到出现登录界面 - 使用默认账号
admin@example.com和密码changeme登录(如果之前修改过登录信息,就用自定义的账号密码) - 通过你的DDNS域名测试连接,确认能正常显示Nginx Proxy Manager的默认站点消息
- 重新配置代理主机及证书:重点注意,首次配置时
Scheme字段请勿选择HTTPS,确保相关开关处于关闭状态;之后切换至SSL选项,输入你的域名并启用Force SSL和HTTP/2 Support
相关环境安装参考
- 安装Python 3.8:请勿安装3.9版本,会出现运行异常。可通过官方源安装或源码编译,确保同时安装好pip工具
- 安装Docker和Portainer:先配置Docker官方软件源,安装Docker引擎;再拉取适配arm架构的Portainer镜像,启动容器并设置开机自启
- 安装Docker-Compose:直接执行命令
sudo apt install docker-compose即可完成安装 - 安装Nginx反向代理(树莓派环境):在
docker-compose.yml中指定数据库镜像为yobasystems/alpine-mariadb:10.4.17-arm32v7,通过docker-compose up -d命令启动服务
内容的提问来源于stack exchange,提问作者ReiniJo




