可以通过以下步骤将 Docker 容器的默认网关修改为路由器的网关,并将容器的流量转发到指定网关 192.168.1.1:

  1. 停止 Docker 服务
sudo systemctl stop docker
  1. 编辑 Docker 配置文件 /etc/docker/daemon.json,添加以下内容:
{
  "bip": "172.17.0.1/16",
  "iptables": false,
  "ip-forward": true,
  "default-gateway": "192.168.1.1"
}

其中:

  • bip:指定容器网段的 IP 地址段,与原来的默认网关无关,可根据需要自行修改。
  • iptables:禁用 Docker 默认的 iptables 规则,避免与其他 iptables 规则冲突。
  • ip-forward:启用 Linux 的 IP 转发功能,允许容器通过主机转发流量。
  • default-gateway:指定容器的默认网关,即路由器的 IP 地址。
  1. 重新启动 Docker 服务
sudo systemctl start docker
  1. 创建一个新的 Docker 容器,验证容器的默认网关是否已修改为指定的网关 192.168.1.1:
sudo docker run -it --rm alpine ip route

输出应该如下所示:

default via 192.168.1.1 dev eth0 
172.17.0.0/16 dev eth0 scope link 

其中,default via 192.168.1.1 表示容器的默认网关已修改为指定的网关

docker 默认网关修改成路由器的网关容器流量转发到指定网关19216811

原文地址: https://www.cveoy.top/t/topic/ffPT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录