Docker [Compose] 配置Iptables 错误

Docker [Compose] configuring Iptables wrong

我正在尝试设置这个项目:https://github.com/ao-data/albiondata-docker

但是我的服务器不允许我从浏览器连接到任何主机。

这是 Docker-Compose 精简版:

version: "3"
services:
  sql:
    depends_on: 
      - mysql
      - nats
    networks: 
      - albiondata
  api:
    ports:
      - 8056:80
    depends_on: 
      - mysql
    networks: 
      - albiondata
  gate:
    ports:
      - 4223:4223
    depends_on: 
      - nats
      - redis
    networks: 
      - albiondata
  deduper:
    depends_on: 
      - nats
      - redis
    networks: 
      - albiondata
  nats:
    ports:
      - 4222:4222
      - 6222:6222
      - 8222:8222
    networks: 
      - albiondata
  mysql:
    ports:
      - 3306:3306
    networks: 
      - albiondata
  mysql-backup:
    depends_on: 
      - mysql
    networks: 
    - albiondata
  redis:
    ports:
      - 6379:6379
    networks: 
      - albiondata
  proxy:
    ports:
      - "80:80"
      - "443:443"
      - "81:81"
    networks: 
      - albiondata
  nginx:
    ports:
      - "80:80"
      - "443:443"
      - "81:81"
    networks: 
      - albiondata
  nginx:
    ports:
      - 8080:80        
networks:
  albiondata:

我正在使用 ufw 配置 iptables,并且我还使用命令

启用了此处描述的转发 https://docs.docker.com/network/bridge/
sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT

我已经使用 netstat 验证了我的端口(是的,它们对 0.0.0.0 开放)并且所有容器都 运行 没有错误。 我还允许 docker 中指定的所有端口 - 也专门与 ufw 组合。

但是我无法连接到8080或4223端口,绑定到8056端口的api也不可用。禁用 iptables(删除所有规则)修复它,我可以访问所有服务。

我的服务器 运行 在 debian 11

当您使用 ufw 并在防火墙中进行更改时,您应该重新启动 docker 守护程序。

docker 守护进程和 ufw 都在后台使用 iptable。当您对 ufw 进行任何更改时,它会与 docker 守护进程发生冲突。

重新启动它:docker重新启动docker