最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

問題起源

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

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

查找問題原因

可以確定的是容器與宿主機是有網絡連接的, 因為可以在容器內部通過 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

也可以在容器內部訪問其它內網和外網.

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ā)現這個問題:NO ROUTE TO HOST network request from container to host-ip:port published from other container.

解釋

正如 Docker Community Forms 所言, 這是一個已知的 Bug, 宿主機的 80 端口允許其它計算機訪問, 但是不允許來自本機的 Docker 容器訪問. 必須通過設置 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 容器內部訪問宿主機 80 端口.

其它問題

實際上當我又用 vmware 新開了一臺虛擬機希望能重現這個問題的時候, 發(fā)現在新的虛擬機上居然沒有類似的問題. 也就是說容器可以直接通過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 修復了.

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

相關文章

  • Docker部署Ragflow(完美解決502 bad gateway)

    Docker部署Ragflow(完美解決502 bad gateway)

    本文主要介紹了Docker部署Ragflow,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • Docker實現分布式應用功能教程

    Docker實現分布式應用功能教程

    這篇文章主要介紹了Docker實現分布式應用功能,涉及docker分布式應用、負載均衡相關實現技巧與操作注意事項,需要的朋友可以參考下
    2018-06-06
  • docker 搭建lnmp環(huán)境的方法步驟

    docker 搭建lnmp環(huán)境的方法步驟

    這篇文章主要介紹了docker 搭建lnmp環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 啟動docker錯誤systemctl status docker.service問題及解決

    啟動docker錯誤systemctl status docker.service問題及解決

    文章討論了啟動Docker和執(zhí)行docker ps命令失敗的問題,但docker -v顯示成功,解決辦法包括在阿里云容器鏡像中找到鏡像加速器或使用公共鏡像地址,默認情況下,Docker使用官方地址
    2025-01-01
  • Docker部署Rabbitmq容器實現過程解析

    Docker部署Rabbitmq容器實現過程解析

    這篇文章主要介紹了Docker部署Rabbitmq容器實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Docker私服倉庫Harbor安裝的步驟詳解

    Docker私服倉庫Harbor安裝的步驟詳解

    這篇文章主要介紹了Docker私服倉庫Harbor安裝的步驟詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Docker 實現瀏覽器里開發(fā)Android應用的功能

    Docker 實現瀏覽器里開發(fā)Android應用的功能

    這篇文章主要介紹了Docker 實現瀏覽器里開發(fā)Android應用的功能的相關資料,這里對布置環(huán)境做了詳細的步驟,也許你能用到這樣的功能,需要的朋友可以參考下
    2016-11-11
  • Docker 倉庫管理和Docker Dockerfile詳解

    Docker 倉庫管理和Docker Dockerfile詳解

    倉庫(Repository)是集中存放鏡像的地方,以下介紹一下 Docker Hub,當然不止 docker hub,只是遠程的服務商不一樣,操作都是一樣的,對Docker 倉庫管理相關知識感興趣的朋友一起看看吧
    2023-11-11
  • docker中鏡像映射和端口映射的實現步驟

    docker中鏡像映射和端口映射的實現步驟

    本文介紹了在Docker中進行鏡像映射和端口映射,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 如何解決docker容器訪問不了外部網絡問題

    如何解決docker容器訪問不了外部網絡問題

    介紹了Docker?bridge網絡的工作原理,包括虛擬網橋的創(chuàng)建、容器的IP地址分配、IP轉發(fā)的作用以及NAT的配置,通過配置IP轉發(fā)和NAT規(guī)則,Docker能夠實現容器與外部網絡之間的通信,文章還提供了解決某個具體問題的步驟
    2024-11-11

最新評論

阿拉善左旗| 从江县| 饶平县| 临朐县| 白朗县| 南和县| 固原市| 柞水县| 上林县| 新野县| 河间市| 德江县| 吉木乃县| 陆川县| 丰台区| 大同县| 岑溪市| 长泰县| 资阳市| 德惠市| 威海市| 五峰| 繁峙县| 二手房| 江阴市| 河北区| 营口市| 海门市| 定南县| 康马县| 秦安县| 长乐市| 维西| 台东县| 石楼县| 涿鹿县| 亚东县| 兴业县| 哈巴河县| 手游| 姚安县|