overlay跨主機容器通信

優(yōu)點:

  • 可以自動分配IP地址不需要手動指定
  • 集中起來管理IP地址的數(shù)據(jù)庫,不需要手動安裝,起一個容器就好,集中管理IP地址分配情況,避免IP地址沖突

consul服務類似于redis里的key:value類型存儲的是鍵值對,可以當數(shù)據(jù)庫來使用

準備環(huán)境(至少需要兩臺臺機器)這邊準備三臺

image.png

配置:

在consul服務上 先pull一個consul的鏡像服務

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

參數(shù)分解: 
-h   ### 指定容器里面主機名
 --name   ###指定容器的名字
image.png

docker 01 和 02 上

## docker01:
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries":["10.0.0.11"],
  "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"],
  "cluster-store": "consul://10.0.0.13:8500",
  "cluster-advertise": "10.0.0.11:2376"

}
## docker02:
vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries":["10.0.0.11"],
  "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"],
  "cluster-store": "consul://10.0.0.13:8500",
  "cluster-advertise": "10.0.0.12:2376"
}

配置文件
hosts:監(jiān)聽的信息 通過sock的通信
cluster-store:集群存儲信息
cluster-advertise:集群客戶端信息

重啟:

systemctl restart docker
  • 如果重啟有報錯信息


    image.png

解決辦法

查看一下報錯的配置文件路徑
systemctl status docker

vim /usr/lib/systemd/system/docker.service 

刪掉!


image.png
systemctl daemon-reload 
systemctl start docker
image.png

image.png

看到以上信息后,創(chuàng)建overlay全局網(wǎng)絡

## 只要在一個節(jié)點創(chuàng)建會自動同步到其他節(jié)點
docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1

啟動容器測試

### docker01
docker run -it --network ol1 --name couldman01 busybox /bin/sh

### docker02
docker run -it --network ol1 --name couldman02 busybox /bin/sh

這里測試ping的時候不需要ip地址 只需要知道容器名,自動解析成IP地址
image.png

IP地址會自動分配全局唯一不會沖突 ,IP地址也會記錄到consul數(shù)據(jù)里

會自動分配兩個IP地址一個是跨宿主機通信用,另一個是用來上外網(wǎng)用 查看網(wǎng)關route -n

上網(wǎng)通信原理

宿主機默認eth0(10.0.0.11)網(wǎng)卡,overlay啟動之后會自動起一個網(wǎng)關(bw_gatevay/172.18.0.1), 容器有兩個IP地址eth1和eth0,eht1會通過宿主機的網(wǎng)關,nat轉換,內核轉發(fā)在到宿主機eth0上外網(wǎng),宿主機之間通信 如果兩臺容器 ,兩臺容器的eth0打通一個隧道(類似交換機),eht0實現(xiàn)跨宿主機之間容器通信,eth1上外網(wǎng)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容