fix(deploy): server 编排接入 1panel-network 直连 1Panel MySQL

MySQL 容器只绑 127.0.0.1:3306,宿主机网段不可达;backend/scheduler
挂 external 网络 1panel-network 用容器名直连,不改 1Panel 任何配置。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-03 12:02:12 +08:00
parent 974929e091
commit 284cecfcd9
+16 -2
View File
@@ -5,8 +5,10 @@
# 「所有区域(%)」,容器经宿主机内网 IP 访问,3306 不对公网);redis 应用
# 尚未接线(config 里只有一个默认 URL),省一份常驻内存——app 将来接
# redis 时记得同步回这里。
# - DB_URL 主机/端口走 MYSQL_HOST / MYSQL_PORT 环境变量(.env 里填宿主机
# 内网 IP,如 172.19.x.x;容器→宿主机内网 IP 是 docker bridge 默认可达)。
# - backend/scheduler 挂到 external 网络 1panel-network(1Panel 的 MySQL
# 容器 1Panel-mysql-YL0F 只绑 127.0.0.1:3306,宿主机网络够不着;加入它
# 所在网络后用容器名直连,不改 MySQL 任何配置)。MYSQL_HOST 填该容器名。
# frontend 不需要——它只跟 backend 说话。
# - 端口只绑 127.0.0.1:frontend 供 1Panel OpenResty(host 网络)反代;
# backend 不映射宿主机(/api 由 frontend 容器内 nginx 反代,见
# yunkes/nginx.conf)。
@@ -41,6 +43,9 @@ services:
API_TOKEN: ${API_TOKEN:-}
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-}
TZ: Asia/Shanghai
networks:
- default
- 1panel
volumes:
# 媒体 bind mount:服务器上 ./yunke-server/media 数据直观可见、好备份
- ./yunke-server/media:/data/media
@@ -69,6 +74,9 @@ services:
FULL_SYNC_HOUR: ${FULL_SYNC_HOUR:-2}
MESSAGE_INTERVAL_HOURS: ${MESSAGE_INTERVAL_HOURS:-4}
TZ: Asia/Shanghai
networks:
- default
- 1panel
volumes:
- ./yunke-server/media:/data/media
@@ -83,3 +91,9 @@ services:
# 只绑 127.0.0.1:公网流量一律走 1Panel OpenResty 反代(80/443),
# 5173 不暴露到安全组
- "127.0.0.1:5173:80"
networks:
# 1Panel 的 MySQL 容器所在网络(external:只挂靠,不创建不修改)
1panel:
name: 1panel-network
external: true