docker宿主机访问docker容器服务失败

缘由:linux

由于docker的虚拟ip网段是172.17.*。*与局域网的ip网段172.17冲突了,因此有两种方式:docker

解决方法:json

1、bash

修改docker网卡信息,将网段改成与局域网不一样的便可网络

参考博客:http://blog.51cto.com/wsxxsl/2060761rest

linux修改方法:
第一步 删除原有配置
sudo service docker stop
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.16.10.1/24 dev docker0
sudo ip link set dev docker0 up
第三步 配置Docker的文件
注意: 这里是 增长下面的配置
vi /etc/docker/daemon.json##追加下面的配置便可
{"registry-mirrors": ["http://224ac393.m.daocloud.io"],
    "bip": "172.16.10.1/24"
}
[root@bogon ~]# cat /etc/docker/daemon.json  ##追加的便可
{"registry-mirrors": ["http://224ac393.m.daocloud.io"],
    "bip": "172.16.10.1/24"
}
[root@bogon ~]# systemctl  restart  docker

2、改变网络模式,与宿主机共享一个网卡,code

启动时添加 --net=host
例子:
docker run --privileged=true -t -i -p 9103:9103 -p 9104:9104 --net=host -d b87146ecdd6a /bin/bash

查看docker容器ip:blog

docker inspect <container_id> 命令,能够查看到容器的网络配置ip

查看容器的网络方式:博客

docker network ls

相关文章
相关标签/搜索