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

相關文章
相關標籤/搜索