解决宿主机和docker之间的网络通信问题

问题:win10环境使用VMware搭建centos系统(网络使用的NAT模式),在centos安装docker后,宿主机无法访问docker中启动的容器。宿主机可以ping通docker网段,telnet不通
原因:docker网卡地址冲突。NAT模式下,centos系统中docker安装后初始化的网段和win10网段一致,导致telnet不通,所以无法访问docker中启动的服务
解决办法:给docker服务分配其他网段
可使用如下步骤给docker重新分配网段

# 安装bridge-utils brctl命令操作网桥需要
yum install -y bridge-utils
sudo service docker stop
# 关闭docker虚拟网卡
sudo ip link set dev docker0 down
sudo brctl delbr docker0
sudo iptables -t nat -F POSTROUTING
sudo brctl addbr docker0
sudo ip addr add 172.18.0.1/16 dev docker0
# 开启docker虚拟网卡
sudo ip link set dev docker0 up
vi /etc/docker/daemon.json
{
    "bip": "172.18.0.1/16"
}
systemctl daemon-reload
systemctl restart docker

下面将演示每步操作:

yum install -y bridge-utils
在这里插入图片描述
sudo service docker stop
在这里插入图片描述
sudo ip link set dev docker0 down
sudo brctl delbr docker0
在这里插入图片描述
使用 brctl show 命令可以查看到此时docker网段已经卸载了
在这里插入图片描述
sudo iptables -t nat -F POSTROUTING
sudo brctl addbr docker0
在这里插入图片描述
sudo ip addr add 172.18.0.1/16 dev docker0
在这里插入图片描述
sudo ip link set dev docker0 up
在这里插入图片描述
vi /etc/docker/daemon.json
在这里插入图片描述

systemctl daemon-reload
在这里插入图片描述
systemctl restart docker
在这里插入图片描述

docker默认创建的网段:

在这里插入图片描述
修改后的docker网段为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值