使Docker容器只能从特定IP/IP子网访问

使Docker容器只能从特定IP/IP子网访问,docker,networking,docker-compose,Docker,Networking,Docker Compose,我设置了一个简单的容器,它使用docker compose启动web应用程序: version: '3' services: app: image: app/app:latest ports: - "8000:80" 现在可以使用从任何地方(!)访问此应用程序http://server_ip:8000 如何将应用程序限制为仅从选定子网访问,例如123.123.0.0/16?我试图使用firewall cmd将端口添加到给定区域,但这些规则不适用于

我设置了一个简单的容器,它使用
docker compose
启动web应用程序:

version: '3'
services:
  app:
    image: app/app:latest
    ports:
    - "8000:80"
现在可以使用
从任何地方(!)访问此应用程序http://server_ip:8000

如何将应用程序限制为仅从选定子网访问,例如
123.123.0.0/16
?我试图使用
firewall cmd
将端口添加到给定区域,但这些规则不适用于Docker容器,因为Docker本身编写Iptable规则

不幸的是,这不起作用:

ports:
- "123.123.0.0/16:8000:80"

主机本身是否有多个接口?如果是,您可以在
端口中使用主机的相应IP地址:
;如果没有,则需要制作
iptables
或类似的东西。主机,即运行容器的机器有多个接口,是的。我应该参考哪个IP?使用localhost无法解决问题-端口“向世界开放”。如果主机具有接口
123.123.45.67
10.20.30.40
,请使用您要侦听的子网上接口的IP地址。