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

Docker容器跨主機(jī)通信中直接路由方式詳解

 更新時(shí)間:2019年10月31日 16:50:27   作者:返回主頁(yè) Jarno  
在本篇文章里我們給各位整理的是一篇關(guān)于Docker容器跨主機(jī)通信中直接路由方式詳解內(nèi)容,有需要的朋友們可以參考下。

概述

就目前Docker自身默認(rèn)的網(wǎng)絡(luò)來(lái)說(shuō),單臺(tái)主機(jī)上的不同Docker容器可以借助docker0網(wǎng)橋直接通信,這沒毛病,而不同主機(jī)上的Docker容器之間只能通過(guò)在主機(jī)上用映射端口的方法來(lái)進(jìn)行通信,有時(shí)這種方式會(huì)很不方便,甚至達(dá)不到我們的要求,因此位于不同物理機(jī)上的Docker容器之間直接使用本身的IP地址進(jìn)行通信很有必要。再者說(shuō),如果將Docker容器起在不同的物理主機(jī)上,我們不可避免的會(huì)遭遇到Docker容器的跨主機(jī)通信問題。本文就來(lái)嘗試一下。

方案原理分析

由于使用容器的IP進(jìn)行路由,就需要避免不同主機(jī)上的容器使用了相同的IP,為此我們應(yīng)該為不同的主機(jī)分配不同的子網(wǎng)來(lái)保證。于是我們構(gòu)造一下兩個(gè)容器之間通信的路由方案。

環(huán)境介紹:

主機(jī)1的IP地址為:192.168.145.128
主機(jī)2的IP地址為:192.168.145.129
為主機(jī)1上的Docker容器分配的子網(wǎng):172.17.1.0/24
為主機(jī)2上的Docker容器分配的子網(wǎng):172.17.2.0/24
這樣配置之后,兩個(gè)主機(jī)上的Docker容器就肯定不會(huì)使用相同的IP地址從而避免了IP沖突。

綜上所述,數(shù)據(jù)包在兩個(gè)容器間的傳遞過(guò)程如下:
從container1 發(fā)往 container2 的數(shù)據(jù)包,首先發(fā)往container1的“網(wǎng)關(guān)”docker0,然后通過(guò)查找主機(jī)1的路由得知需要將數(shù)據(jù)包發(fā)給主機(jī)2,數(shù)據(jù)包到達(dá)主機(jī)2后再轉(zhuǎn)發(fā)給主機(jī)2的docker0,最后由其將數(shù)據(jù)包轉(zhuǎn)到container2中;反向原理相同,不再贅述。

1、分別對(duì)主機(jī)1和主機(jī)2上的docker0進(jìn)行配置

編輯主機(jī)1上的 /etc/docker/daemon.json 文件,添加內(nèi)容:"bip" : "ip/netmask"
{ "bip", "172.17.1.252/24" }

編輯主機(jī)2上的 /etc/docker/daemon.json 文件,添加內(nèi)容:"bip" : "ip/netmask"
{ "bip", "172.17.2.252/24" }

重啟docker服務(wù)
主機(jī)1和主機(jī)2上均執(zhí)行如下命令重啟docker服務(wù)以使修改后的docker0網(wǎng)段生效
systemctl restart docker

2、添加路由規(guī)則

主機(jī)1上添加路由規(guī)則如下:
route add -net 172.17.2.0 netmask 255.255.255.0 gw 192.168.145.129

主機(jī)2上添加路由規(guī)則如下:
route add -net 172.17.1.0 netmask 255.255.255.0 gw 192.168.145.128

3、配置iptables規(guī)則

主機(jī)1上添加如下規(guī)則:
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 172.17.1.0/24 ! -d 172.17.0.0/16 -j MASQUERADE

主機(jī)2上添加如下規(guī)則:
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 172.17.2.0/24 ! -d 172.17.0.0/16 -j MASQUERADE

4、啟動(dòng)容器

主機(jī)1上啟動(dòng)centos容器:
docker run -it --name container1 centos /bin/bash

主機(jī)2上啟動(dòng)centos容器:
docker run -it --name container2 centos /bin/bash

好了,現(xiàn)在兩容器可以互ping通。

5、路由持久化(防止主機(jī)重啟路由丟失)

root@rancher:~# vi /etc/rc.local

添加路由信息,切記寫到exit之前?。。。?
route add -net 172.17.2.0 netmask 255.255.255.0 gw 192.168.102.88

以上就是關(guān)于Docker容器跨主機(jī)通信的全部知識(shí)點(diǎn)內(nèi)容,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。

相關(guān)文章

  • docker中安裝quagga詳細(xì)介紹

    docker中安裝quagga詳細(xì)介紹

    這篇文章主要介紹了docker中安裝quagga詳細(xì)介紹的相關(guān)資料,這里提供了詳細(xì)的步驟,及注意事項(xiàng),需要的朋友可以參考下
    2016-10-10
  • Rancher+Docker+SpringBoot實(shí)現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控

    Rancher+Docker+SpringBoot實(shí)現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控

    Rancher?是一套容器管理平臺(tái),可以在生產(chǎn)環(huán)境中快捷的部署和管理容器,方便的對(duì)容器進(jìn)行cpu內(nèi)存環(huán)境監(jiān)控、日志監(jiān)控、擴(kuò)容縮容,自動(dòng)重啟,這篇文章主要介紹了Rancher+Docker+SpringBoot實(shí)現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控,需要的朋友可以參考下
    2022-04-04
  • 安裝Docker時(shí)執(zhí)行yum?install?-y?yum-utils報(bào)錯(cuò)解決辦法

    安裝Docker時(shí)執(zhí)行yum?install?-y?yum-utils報(bào)錯(cuò)解決辦法

    在安裝工具時(shí)使用yum命令報(bào)錯(cuò),問題通常是服務(wù)器無(wú)法連接網(wǎng)絡(luò),解決此問題需配置鏡像源,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-11-11
  • docker如何部署etcd集群

    docker如何部署etcd集群

    這篇文章主要介紹了docker如何部署etcd集群?jiǎn)栴},具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • docker在Linux環(huán)境下的安裝教程

    docker在Linux環(huán)境下的安裝教程

    這篇文章主要介紹了docker在Linux環(huán)境下的安裝教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • docker無(wú)法搜索和拉取鏡像的解決辦法

    docker無(wú)法搜索和拉取鏡像的解決辦法

    這篇文章主要給大家介紹了關(guān)于docker無(wú)法搜索和拉取鏡像的解決辦法,通過(guò)更換可用的鏡像加速器地址可以解決這個(gè)問題,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • docker安裝tomcat并部署Springboot項(xiàng)目war包的方法

    docker安裝tomcat并部署Springboot項(xiàng)目war包的方法

    這篇文章主要介紹了docker安裝tomcat并部署Springboot項(xiàng)目war包的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 使用Docker run的選項(xiàng)以覆蓋Dockerfile中的設(shè)置詳解

    使用Docker run的選項(xiàng)以覆蓋Dockerfile中的設(shè)置詳解

    今天小編就為大家分享一篇關(guān)于使用Docker run的選項(xiàng)以覆蓋Dockerfile中的設(shè)置詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • Docker Compose 容器編排的實(shí)現(xiàn)

    Docker Compose 容器編排的實(shí)現(xiàn)

    本文主要介紹了Docker Compose 容器編排的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 利用Dockerfile部署SpringBoot項(xiàng)目的方法

    利用Dockerfile部署SpringBoot項(xiàng)目的方法

    這篇文章主要介紹了利用Dockerfile部署SpringBoot項(xiàng)目的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

房山区| 定兴县| 碌曲县| 奉贤区| 息烽县| 卢龙县| 永宁县| 东乡族自治县| 柞水县| 宣威市| 罗源县| 安庆市| 崇阳县| 类乌齐县| 金沙县| 瑞金市| 三原县| 大安市| 乳山市| 康保县| 托克逊县| 内乡县| 武隆县| 施秉县| 绿春县| 米泉市| 临洮县| 昌宁县| 新津县| 萝北县| 阿拉善右旗| 娄烦县| 包头市| 马公市| 中卫市| 南岸区| 沂南县| 大荔县| 淮安市| 余庆县| 大名县|