--- title: Docker网络配置知识库 date: 2024-12-15T12:45:08+08:00 lastmod: 2025-05-15T14:15:08+08:00 --- # Docker网络配置知识库 # 一、容器部署可访问外网的网络 ```bash docker network create \ --driver bridge \ --opt "com.docker.network.bridge.enable_ip_masquerade=true" \ --subnet=172.20.0.0/16 \ --gateway=172.20.0.1 \ imaotai ‍‍``` ```   系统开放防火墙: ```bash iptables -t nat -A POSTROUTING -s 172.20.0.0/16 -j MASQUERADE ```   涉及容器拥有两个网络的情况   第一,Docker创建容器部署可访问外网的网络,如只需要临时网络可在运行cli或dockercompose时部署,例如 ```bash networks: campus-net: #在访问内网的网络 driver: bridge ipam: config: - subnet: 172.22.0.0/16 #固定临时网络IP地址 gateway: 172.22.0.1 #固定临时网络网关 imaotai: #docker单独部署的网络可访问外网 external: true ```   第二,在容器内部调整`ip route` ```bash apt-get update apt-get install iputils-ping apt-get install -y iproute2 ip route #查看路由规则 ip route del default ip route add default via 172.20.0.1 # 默认 Docker 网关 可访问外网的网关 ```   第三,查看路由转发是否开启 ```bash cat /proc/sys/net/ipv4/ip_forward ```