要部署一个Docker网络和防火墙容器,可以按照以下步骤进行:
创建一个网络容器:
docker network create mynetwork
创建一个防火墙容器:
docker run -d --name firewall --network=mynetwork --privileged=true \
--cap-add=NET_ADMIN --cap-add=NET_RAW \
jpetazzo/ufw
这里使用了 jpetazzo/ufw
镜像来提供防火墙功能,该镜像已经预装了 ufw
工具。
配置防火墙规则:
docker exec -it firewall ufw allow 22
docker exec -it firewall ufw allow 80
docker exec -it firewall ufw allow 443
docker exec -it firewall ufw enable
这里使用了 ufw
工具来配置防火墙规则。以上命令允许了SSH(端口22)、HTTP(端口80)和HTTPS(端口443)的访问,并启用了防火墙。
创建其他容器并加入网络:
docker run -d --name container1 --network=mynetwork nginx
docker run -d --name container2 --network=mynetwork nginx
这里创建了两个其他容器,并将它们加入到了之前创建的 mynetwork
网络中。
现在,你已经成功部署了一个包含网络和防火墙容器的Docker环境。容器 container1
和 container2
可以通过网络容器 firewall
进行通信,同时防火墙会过滤流量,只允许指定的端口通过。