欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

No route to host兩個(gè)docker容器的服務(wù)訪問(wèn)不通的解決

 更新時(shí)間:2025年02月21日 10:44:04   作者:十九歲少年想長(zhǎng)肌肉  
在CentOS服務(wù)器上使用Docker容器時(shí),當(dāng)容器之間的服務(wù)調(diào)用出現(xiàn)“Failed to establish a new connection: [Errno 113] No route to host”錯(cuò)誤,是因?yàn)槿萜鞯膱?bào)文源地址被防火墻攔截,解決方法有兩種:在防火墻上開(kāi)放指定端口或關(guān)閉防火墻

問(wèn)題描述

如圖,我的兩個(gè)docker服務(wù)service1service2位于同一臺(tái)服務(wù)器上,當(dāng)service1調(diào)用service2時(shí),報(bào)錯(cuò):

Failed to establish a new connection: [Errno 113] No route to host'

原因分析

  • 我是在centos服務(wù)器上創(chuàng)建的docker容器,其網(wǎng)絡(luò)模式采用的是bridger模式。
  • 啟動(dòng)docker時(shí),docker進(jìn)程會(huì)創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋,用于宿主機(jī)與容器之間的通信。當(dāng)啟動(dòng)一個(gè)docker容器時(shí),docker容器將會(huì)附加到虛擬網(wǎng)橋上,容器內(nèi)的報(bào)文通過(guò)docker0向外轉(zhuǎn)發(fā)。
  • 如果docker容器訪問(wèn)宿主機(jī),那么docker0網(wǎng)橋?qū)?bào)文直接轉(zhuǎn)發(fā)到本機(jī),報(bào)文的源地址是docker0網(wǎng)段的地址。
  • 而如果docker容器訪問(wèn)宿主機(jī)以外的機(jī)器,docker的SNAT網(wǎng)橋會(huì)將報(bào)文的源地址轉(zhuǎn)換為宿主機(jī)的地址,通過(guò)宿主機(jī)的網(wǎng)卡向外發(fā)送。
  • 因此,當(dāng)docker容器訪問(wèn)宿主機(jī)時(shí),宿主機(jī)服務(wù)端口會(huì)被防火墻攔截,從而無(wú)法連通宿主機(jī),出現(xiàn)No route to host的錯(cuò)誤。
  • 而訪問(wèn)宿主機(jī)所在局域網(wǎng)內(nèi)的其他機(jī)器,由于報(bào)文的源地址是宿主機(jī)ip,因此不會(huì)被目的機(jī)器防火墻攔截,所以可以訪問(wèn)。

解決辦法

解決辦法有兩種:

  1. 在防火墻上開(kāi)放指定端口(推薦),本文中的示例端口號(hào)為8033
firewall-cmd --zone=public --add-port=8033/tcp --permanent
firewall-cmd --reload
  1. 關(guān)閉防火墻
systemctl stop firewalld

總結(jié)

  • 我在服務(wù)器A上部署的服務(wù)調(diào)用其他服務(wù)器上的服務(wù),比如服務(wù)器B的service3服務(wù),是沒(méi)有問(wèn)題的,報(bào)文的源地址會(huì)轉(zhuǎn)換為宿主機(jī)的地址;
  • 但是如果我訪問(wèn)宿主機(jī)的服務(wù),即服務(wù)器A上其他容器的服務(wù),報(bào)文的源地址是docker0網(wǎng)段的地址,宿主機(jī)服務(wù)端口會(huì)被防火墻攔截,從而出現(xiàn)No route to host的錯(cuò)誤,需要在防火墻上開(kāi)放指定端口來(lái)解決。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker給容器添加新端口映射兩種方法及常用命令

    Docker給容器添加新端口映射兩種方法及常用命令

    在使用Docker時(shí)容器的端口映射是一個(gè)核心概念,它允許容器與宿主機(jī)以及外部網(wǎng)絡(luò)進(jìn)行通信,這篇文章主要給大家介紹了關(guān)于Docker給容器添加新端口映射兩種方法及常用命令的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解

    Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解

    這篇文章主要介紹了Docker 鏡像、容器、倉(cāng)庫(kù)的概念及應(yīng)用詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 在Docker中更快地構(gòu)建Maven項(xiàng)目

    在Docker中更快地構(gòu)建Maven項(xiàng)目

    本文主要介紹了在Docker中更快地構(gòu)建Maven項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 使用docker部署influxdb與 mongo的常用命令

    使用docker部署influxdb與 mongo的常用命令

    這篇文章主要介紹了使用docker部署influxdb與 mongo的常用命令,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Docker部署Mysql,.Net6,Sqlserver等容器

    Docker部署Mysql,.Net6,Sqlserver等容器

    這篇文章介紹了Docker部署Mysql,.Net6,Sqlserver等容器的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 阿里云ECS(CentOS鏡像)安裝docker的實(shí)現(xiàn)步驟

    阿里云ECS(CentOS鏡像)安裝docker的實(shí)現(xiàn)步驟

    本文主要介紹了阿里云ECS(CentOS鏡像)安裝docker的實(shí)現(xiàn)步驟,從準(zhǔn)備工作到實(shí)際安裝步驟,詳細(xì)解析每一步操作,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 談?wù)勎覍?duì)docker的理解

    談?wù)勎覍?duì)docker的理解

    作為一種新興的虛擬化方式,Docker跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢(shì)。這篇文章給大家介紹了docker的優(yōu)勢(shì)及docker的三個(gè)基本概念,感興趣的朋友一起看看吧
    2016-10-10
  • docker之如何設(shè)置日志文件大小及個(gè)數(shù)

    docker之如何設(shè)置日志文件大小及個(gè)數(shù)

    這篇文章主要介紹了docker之如何設(shè)置日志文件大小及個(gè)數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker容器間通信與外網(wǎng)通信的操作

    Docker容器間通信與外網(wǎng)通信的操作

    這篇文章主要介紹了Docker容器間通信與外網(wǎng)通信的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn)

    docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn)

    本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08

最新評(píng)論