原因:
因為docker的虛擬ip網段是172.17.*。*與區域網的ip網段172.17衝突了,所以有兩種方式:
解決方法:
一、修改docker網絡卡資訊,將網段改為與區域網不同的即可
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##追加下面的配置即可
[root@bogon ~]# cat /etc/docker/daemon.json ##追加的即可
[root@bogon ~]# systemctl restart docker
二、改變網路模式,與宿主機共享乙個網絡卡,
啟動時新增 --net=host
例子:docker run --privileged=true -t -i -p 9103:9103 -p 9104:9104 --net=host -d b87146ecdd6a /bin/bash
檢視docker容器ip:
docker inspect 命令,可以檢視到容器的網路配置
檢視容器的網路方式:
docker network ls
docker訪問宿主機MySQL
docker內部訪問宿主及mysql 有時mysql安裝在宿主機中,而服務在docker容器中,此時可以通過通過以下兩張方式訪問 方法一啟動docker時使用 net host net host這個引數,讓容器執行在宿主機相同的網路 此時可以通過127.0.0.1直接連線mysql 方法二使用doc...
宿主機訪問操作docker方式
一 ssh訪問 啟動的時候需要把22埠隱射出來 docker run t i d p 8091 8080 p 9527 22 name tomcat4 tomcat bases bin bash 二 nsenter 用來訪問另乙個程序的名字空間。nsenter要正常工作需要有root許可權 為了連線...
Docker容器訪問宿主機網路
業務請求量小的時候,我們會把一些工程部署到同一臺機器上。這些工程之間也會相互訪問。如果是http的介面,我們最方便的是使用localhost帶地本機的ip。不過結合docker容器後出現了問題。docker容器中localhost表示容器的ip位址。不是宿主機ip。其實docker容器執行的時候有h...