From 284cecfcd9c4539f73c515e9281fab17de42c322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Thu, 3 Sep 2026 12:02:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20server=20=E7=BC=96=E6=8E=92?= =?UTF-8?q?=E6=8E=A5=E5=85=A5=201panel-network=20=E7=9B=B4=E8=BF=9E=201Pan?= =?UTF-8?q?el=20MySQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MySQL 容器只绑 127.0.0.1:3306,宿主机网段不可达;backend/scheduler 挂 external 网络 1panel-network 用容器名直连,不改 1Panel 任何配置。 Co-Authored-By: Claude Code --- docker-compose.server.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docker-compose.server.yml b/docker-compose.server.yml index 74196ef..66933e9 100644 --- a/docker-compose.server.yml +++ b/docker-compose.server.yml @@ -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