亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解如何解決docker容器無法通過IP訪問宿主機問題

 更新時間:2019年01月10日 09:35:13   作者:vibiu  
這篇文章主要介紹了詳解如何解決docker容器無法通過IP訪問宿主機問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

問題起源

在使用 docker 的過程中我不幸需要在 docker 容器中訪問宿主機的 80 端口, 而這個 80 端口是另外一個容器 8080 端口映射出去的. 當我在容器里通過 docker 的網(wǎng)橋 172.17.0.1 訪問宿主機時, 居然發(fā)現(xiàn):

curl: (7) Failed to connect to 172.17.0.1 port 80: No route to host

查找問題原因

可以確定的是容器與宿主機是有網(wǎng)絡(luò)連接的, 因為可以在容器內(nèi)部通過 172.17.0.1 Ping 通宿主機:

root@930d07576eef:/# ping 172.17.0.1
PING 172.17.0.1 (172.17.0.1) 56(84) bytes of data.
64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.130 ms

也可以在容器內(nèi)部訪問其它內(nèi)網(wǎng)和外網(wǎng).

iptables 顯示也允許 docker 容器訪問:

# iptables --list | grep DOCKER
DOCKER-ISOLATION all -- anywhere       anywhere      
DOCKER   all -- anywhere       anywhere      
Chain DOCKER (1 references)
Chain DOCKER-ISOLATION (1 references)

之后在查找一些資料后發(fā)現(xiàn)這個問題:NO ROUTE TO HOST network request from container to host-ip:port published from other container.

解釋

正如 Docker Community Forms 所言, 這是一個已知的 Bug, 宿主機的 80 端口允許其它計算機訪問, 但是不允許來自本機的 Docker 容器訪問. 必須通過設(shè)置 firewalld 規(guī)則允許本機的 Docker 容器訪問.

gypark 指出可以通過在 /etc/firewalld/zones/public.xml 中添加防火墻規(guī)則避免這個問題:

<rule family="ipv4">
  <source address="172.17.0.0/16" />
  <accept />
</rule>

注意這里的 172.17.0.0/16 可以匹配 172.17.xx.xx IP 段的所有 IP.

之后重啟下防火墻:

systemctl restart firewalld

之后就可以在 docker 容器內(nèi)部訪問宿主機 80 端口.

其它問題

實際上當我又用 vmware 新開了一臺虛擬機希望能重現(xiàn)這個問題的時候, 發(fā)現(xiàn)在新的虛擬機上居然沒有類似的問題. 也就是說容器可以直接通過172.17.0.1訪問宿主機 80 端口, 查看防火墻配置也沒看到有172.17.xx.xx的白名單.
猜測是由于在新的虛擬機安裝的 docker 是 Docker version 1.12.5, build 047e51b/1.12.5, 也就是 Red Hat 從 docker 開源版本遷出開發(fā)的版本, 而之前的是 Docker version 17.06.2-ce, build cec0b72 屬于 Docker-CE, 可能是 docker 版本有差異, Red Hat 順便把那個 Known Bug 修復(fù)了.

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker安裝配置MySQL的實現(xiàn)步驟

    Docker安裝配置MySQL的實現(xiàn)步驟

    MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。在本教程中,會帶大家正確安裝配置MySQL在Docker
    2021-11-11
  • Docker run 命令的使用方法詳解

    Docker run 命令的使用方法詳解

    這篇文章主要介紹了Docker run 命令的使用方法詳解,需要的朋友可以參考下
    2017-03-03
  • 詳解Docker 國內(nèi)鏡像的配置及使用

    詳解Docker 國內(nèi)鏡像的配置及使用

    這篇文章主要介紹了詳解Docker 國內(nèi)鏡像的配置及使用 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • docker-compose部署mysql數(shù)據(jù)庫完整步驟

    docker-compose部署mysql數(shù)據(jù)庫完整步驟

    Docker-Compose項目是Docker官方的開源項目,負責實現(xiàn)對Docker容器集群的快速編排,這篇文章主要給大家介紹了關(guān)于docker-compose部署mysql數(shù)據(jù)庫的完整步驟,需要的朋友可以參考下
    2024-05-05
  • docker 無法釋放端口的解決方案

    docker 無法釋放端口的解決方案

    這篇文章主要介紹了docker 無法釋放端口的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決

    docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決

    這篇文章主要介紹了docker mysql鏡像因為配置文件出現(xiàn)錯誤一直提示重啟的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker相關(guān)命令應(yīng)用匯總

    Docker相關(guān)命令應(yīng)用匯總

    如果各位看官熟悉 Git 和 GitHub ,可與 Docker 做個類比,可更加容易理解 Docker 和 Docker Hub 及兩者關(guān)系。
    2018-04-04
  • docker中使用GPU+rocksdb的詳細教程

    docker中使用GPU+rocksdb的詳細教程

    這篇文章主要介紹了docker中使用GPU+rocksdb,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • skywalking在docker中應(yīng)用方式

    skywalking在docker中應(yīng)用方式

    這篇文章主要介紹了skywalking在docker中應(yīng)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 關(guān)于docker啟動jenkins環(huán)境的問題

    關(guān)于docker啟動jenkins環(huán)境的問題

    這篇文章主要介紹了docker啟動jenkins環(huán)境的問題,文中提到了jenkins基本工作原理及管理員密碼獲取方法,對docker啟動jenkins環(huán)境相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04

最新評論