如果您正在使用 Fastpanel 来管理 VPS,您会发现它对 PHP/WordPress 网站非常出色。然而,如果您想运行其他现代应用程序(如 n8n、Nextcloud、Node.js…)则 Docker 是最佳解决方案。.
唯一的问题是 Fastpanel 已占用 80 和 443 端口。那么如何使用标准 SSL 域名访问 Docker 管理界面 (Portainer)(例如: portainer.dps.media) 而无需输入 IP:9443?
本文将从 A 到 Z 指导您在 Ubuntu 24.04 平台上安装 Docker、Portainer 并配置 Fastpanel 上的 Reverse Proxy (原生)。.
步骤 1: 在 VPS 上安装 Docker
首先,您需要使用 root 权限 SSH 登录 VPS 并运行官方 Docker 安装命令。.
1. 更新系统:
Bash
apt update && apt upgrade -y
2. 安装 Docker(自动脚本):
Bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
安装完成后,您可以使用以下命令检查 Docker 是否已运行 docker -v.
步骤 2: 安装 Portainer (Docker 管理界面)
与其手动输入命令,我们将安装 Portainer CE 来通过直观的 Web 界面管理容器。.
1. 创建数据存储空间(Volume):
Bash
docker volume create portainer_data
2. 运行 Portainer 容器:
Bash
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
此时,Portainer 已运行在端口 9443 (HTTPS)。.
步骤 3: 在 Fastpanel 上配置 Reverse Proxy
这是将 Portainer 通过您的域名公开到互联网的最重要步骤。.
- 登录到 Fastpanel.
- 点击按钮 “Create Site” (创建网站).
- 选择网站类型为 “Reverse Proxy”.
- 填写信息:
- 域名: 输入您的子域名(例如:
ptn266.dpsmedia.vn). - 上游地址 (Target): 输入
https://127.0.0.1:9443 - 注意:必须有
https://因为 Portainer 默认安全运行。.
- 域名: 输入您的子域名(例如:
⚠️ 重要注意事项 (不可忽略)
创建网站后,Portainer 界面可能出现显示错误(白屏或丢失图标)。您需要按以下方式修复:
- 进入刚刚创建的网站设置 (Settings)。.
- 找到项目 “Static Content”.
- 关闭 (禁用) 行: “Use NGINX for static files”.
- 原因:Fastpanel 默认会在服务器硬盘上查找图片/css,而不是从 Docker 容器获取,因此我们需要关闭它,让所有请求都通过 Docker。.
然后,进入项目 SSL 证书 并像平常一样安装免费的 Let’s Encrypt SSL。.
步骤 4: 处理“Instance timed out”错误 (如果遇到)
首次访问域名时,如果您看到通知:
“Your Portainer instance timed out for security purposes…”
别担心,这是 Portainer 的安全功能,如果您在安装后 5 分钟内未创建 Admin 账户。.
解决方法: 返回 SSH 并运行重启命令:
Bash
docker restart portainer
然后立即 F5 刷新浏览器并创建 Admin 账户。.
总结
就是这样!现在您已经拥有一个 Fastpanel 强大的系统,既能运行传统网页,又能运行生态系统 Docker 通过界面 Portainer 极其专业。.
此方法的优点:
- 无需额外安装 Nginx Proxy Manager(因为 Fastpanel 已处理)。.
- 充分利用 Fastpanel 的免费 SSL 证书。.
- 更安全,因为无需将端口 9443 暴露在防火墙外。.
祝各位成功!如有疑问,请在下方留言。.
来源:总结自实际经验的 dps.media
