如何在用户定义的 Docker 桥上配置防火墙?

Nat*_*han 5 firewall bridge docker

我使用 docker 命令创建了一个用户定义的网桥:

docker network create --driver bridge mynetwork
Run Code Online (Sandbox Code Playgroud)

此命令导致创建了一个网桥,如下所示netstat -i

Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
br-000f1  1500        0      0      0 0             0      0      0      0 BMRU
Run Code Online (Sandbox Code Playgroud)

与我之前信任docker0网桥的方式相同,我需要将此新网桥添加到我的防火墙信任区域:

firewall-cmd --permanent --zone=trusted --add-interface=Docker0
Run Code Online (Sandbox Code Playgroud)

我看不到推断或指定网桥设备名称的方法,因此我不确定如何以自动方式将其添加到我的信任区域。

我将不胜感激任何帮助。

小智 5

详细说明 Marek 在创建时设置桥名称的答案。

docker network create --driver bridge -o \
  "com.docker.network.bridge.name"="mynetwork_name" mynetwork
Run Code Online (Sandbox Code Playgroud)

或者如果使用 docker-compose 文件,请在网络部分中执行以下操作

version: '3'
  .
  .
  .
networks:
  mynetwork:
    driver_opts:
      com.docker.network.bridge.name: mynetwork_name
Run Code Online (Sandbox Code Playgroud)


小智 0

Docker 可以选择在创建时设置桥名称

https://docs.docker.com/engine/reference/commandline/network_create/#bridge-driver-options

  • 请将您链接的网站的重要部分复制到答案中。链接经常发生变化或失效,如果这个答案能够在链接失效后很长时间内继续为社区服务,那就最好了。 (2认同)