返回列表 发布新帖

[交流讨论] NAS Docker bridge 网络内容器无法通过 TCP 互通,AFFiNE migration 无法连接 postgre

179 2
发表于 2026-5-5 19:48:24 | 查看全部 阅读模式 IP:–江西–南昌

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我在绿联 NAS 上通过 Docker / docker compose 部署 AFFiNE 自托管版时,发现同一个 bridge 网络内的容器无法通过 TCP 互相访问,导致 AFFiNE 的 affine_migration 无法连接 postgres 数据库。

测试环境:
- NAS:绿联 DXP4800 Plus
- Docker Server Version:26.1.0
- Docker Root Dir:默认 Docker 存储目录
- 项目:AFFiNE self-host
- 部署方式:docker compose
- Docker 网络:affine_default
- Docker bridge 网络网段:172.x.x.x/16

问题现象:
- AFFiNE 的 postgres 容器内部执行:
  pg_isready -h 127.0.0.1 -p 5432 -U affine -d affine
  结果正常:accepting connections

- postgres 容器内查询:
  SHOW listen_addresses;
  结果为:*

- 另一个容器在同一个 Docker 网络中执行:
  getent hosts postgres
  可以解析到 postgres 的 Docker 内网 IP:172.x.x.x

- 但继续测试 TCP:
  /dev/tcp/postgres/5432
  结果 failed

- 直接访问 postgres 的 Docker 内网 IP 也失败:
  172.x.x.x:5432 no response

AFFiNE 报错信息主要是:
Error: P1001: Can't reach database server at `postgres:5432`

我又做了一个最小测试,不使用 AFFiNE,只用 pgvector/pgvector:pg16 启动一个 test_pg 数据库容器,再用另一个同网络容器访问 test_pg:5432,结果同样 no response。

iptables 检查结果:
DOCKER-USER 链中有:
-A DOCKER-USER -j UG_FORWARD

UG_FORWARD 链中有:
-A UG_FORWARD -i lo -j ACCEPT
-A UG_FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A UG_FORWARD -s 192.168.x.x/16 -j RETURN
-A UG_FORWARD -j DROP

我的理解是:Docker 容器网络是 172.x.x.x,不属于 192.168.x.x/16,因此容器之间的 TCP 转发可能被 UG_FORWARD 最后的 DROP 拦截。

请问绿联系统里应该如何正确允许 Docker bridge 网络内的容器互通?是否有官方设置入口,或者官方推荐的防火墙白名单方式?

补充说明:
- 没有暴露公网访问,只是在局域网内测试。
- 不希望直接修改系统底层 iptables 永久规则,希望优先使用绿联官方推荐的安全设置方式。

评论2

playokLv.4 发表于 2026-5-8 09:59:27 | 查看全部 IP:–贵州–遵义
把他们都放在一个桥接网络中就行了,比如数据库的桥接网络是db_bridge,你再把需要数据库服务的容器加入这个桥接网络,那么就看了一使用容器名称进行访问了
Yuetong楼主Lv.1 发表于 2026-5-8 23:30:33 | 查看全部 IP:–江西–南昌
playok 发表于 2026-5-8 09:59
把他们都放在一个桥接网络中就行了,比如数据库的桥接网络是db_bridge,你再把需要数据库服务的容器加入这个 ...

ok,感谢,已经解决了,我在防火墙那里把那个网络加入白名单就好了,是防火墙在拦截他

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表