docker網絡問題解決辦法“大全”:關於宿主機訪問不了docker容器中web服務,或者容器內訪問不了外網的問題的解決辦法


ubuntu kylin 15 安裝docker后 ,啟動包含web應用的容器,在宿主機上死活訪問不了web服務。后來發現進入容器后,安裝不了軟件,訪問不了外網。

因此網上查原因,有大神說讓重建docker0網絡,重建的過程中,發現brctl未安裝,因此安裝了bridge-utils,執行如下命令,一切正常。

nnd,困惑了好久!!!

 

重建docker0網絡

pkill docker
iptables -t nat -F
ifconfig  docker0 down
brctl delbr docker0
docker -d

------------------------------------------------------------------------------------------------------

轉折:過了一天啟動docker,發現容器內又訪問不了外網了,容器外也訪問不了容器內的web服務。

按照上面的命令清理iptables,重建docker0也沒有效果。查了stackoverflow又很多人也有同樣的問題,解決辦法如上,對我無效。

但是下面留言有如下方案,照做后問題解決,不知道以后是否會出現。

1,在docker run命令啟動容器時,增加--net=host ,問題解決,但是無法進行端口映射,只能用容器暴漏的端口。

2,上面是臨時解決辦法,使用systemctl restart docker之后,問題解決,可以進行端口映射。

 

------------------------------------------------------------------------------------------------------

轉折: docker version 查看,我的docker版本是1.6,而最新版本是1.9.1,我准備升級到最新版本。命令如下:

設置下載docker的源地址為: https://get.docker.io/ubuntu

# apt-get -y installapt-transport-https

# apt-keyadv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
# bash -c "echo deb https://get.docker.io/ubuntu docker main >/etc/apt/sources.list.d/docker.list"
# apt-get update
# apt-get -y install lxc-docker
# docker -v  //查看docker版本
# ps -ef | grep docker 
root    17311    1  0 Feb13 ?        00:00:43 /usr/bin/docker -d
 舊版本Docker升級
注:使用ubuntu源安裝的Docker是不能升級到最新版本的,因為ubuntu源中是沒用最新版本Docker的
注:升級中所有運行容器都會自動關閉,最好升級前備份容器。
# apt-getupdate
以下是兩種升級方式:
# apt-get -u -y upgrade lxc-docker    安全升級
# apt-get -u -y dist-upgrade lxc-docker  安全升級失敗可用這個強制解決依賴包升級
# docker -v  //查看docker版本

升級完成后,啟動docker,  systemctl start docker, 報錯:

Failed to start docker.service: Unit docker.service is masked.
百度后,使用如下命令解決
systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service
重新啟動docker,一切正常。啟動容器,在宿主機瀏覽器中訪問容器中的web服務,也能正常訪問。
root@liu-Rev-1-0:/home/liu# docker run -d -P --name=webapp training/webapp python app.py
94b07bd9b88d4460eba794b081586756fe4329ba04995c2c9faa342951f803bd


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM