docker 環境下建立 overlay 網路方案

2022-09-02 13:06:12 字數 2131 閱讀 8948

一.環境

三颱機器,其中一台安裝 consul(192.168.1.21), 兩台建立網路(192.168.1.32,33)

二.實現步驟

1.構建環境

1)三颱機器部署docker環境

2)選擇一台作為consul伺服器,安裝consul;consul 為乙個key-value資料庫用於儲存網路狀態資訊,其他的支援key-value的軟體有etcd,zookeeper等。

我們這裡直接用映象方式啟動consul容器,來部署 consul,

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

啟動之後,我們可以用瀏覽器192.168.1.21:8500, 進行檢視consul;

3)修改兩台機器的docker daemon  配置檔案

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

在execstart=/usr/bin/dockerd 後加入  --cluster-store=consul: --cluster-advertise=ens33:2376

其中192.168.1.21為consul 主機, ens33為 consul 主機的網絡卡

4)到瀏覽器192.168.1.21:8500, 進行檢視consul;在 key/value 下發現兩個節點,此為自動註冊到consul資料庫中的節點。

2.構建overlay網路

1)在一台主機中建立overlay網路

docker  network  create  -d  overlay  ov_net1

-d 為指定driver為overlay

docker  network ls  檢視網路情況

網路型別為 global,同時可在另一台主機檢視到該網路,因為建立該網路時,主機將網路資訊存入 consul中,另一台主機會讀取到新網路的資訊,在主機上對網路的操作會同步到consul中。

2)在網路中執行容器

docker run -itd --name bbox1 --network ov_net1 busybox

檢視網路配置

docker exec bbox1 ip r

會有兩個網絡卡,乙個eth0,連線 overlay網路, 另乙個 eth1,連線主機的docker_gwbridge, 為訪問外網的容器提供出口;

在另一台機器執行容器2,

docker run -itd --name bbox2  --network ov_net1 busybox

docker exec bbox2 ip a

docker exec bbox2 ping -c bbox1  同乙個overlay 網路的容器可以互相ping 通

3)不同overlay中網路的隔離性

建立乙個ov_net2網路

docker network create -d overlay ov_net2

在該網路中執行乙個容器

docker  run -itd  --name  bbox3  --network  ov_net2

測試該容器是否能ping 通其他容器

docker  exec -it  bbox3  ping  -c  2  bbox1

不通,說明不同overlay網路之間是隔離的。

如果要讓兩個 overlay的容器通訊,可以將其中的乙個容器連到另乙個容器所在的overlay,

docker network connect ov_net1 bbox3

測試docker exec -it bbox3 ping -c 2 10.0.0.2 ,網路為通。10.0.0.2為bbox1的ip位址

4)ip管理

預設分配子網,10.0.x.0/24 ,也可以通過 --subnet 指定ip 範圍

docker  network  create  -d  overlay  --subnet  10.2.0.0/24   ov_net3

win7 下使用docker建立環境

檢查docker安裝時候成功 執行如下 docker version docker machine version docker compose version 如圖所示 docker加速器配置 配置 docker machine ssh default sudo sed i s extra arg...

docker環境下安裝oracle

系統centos 6.5 2 yum install docker io 4 yum install docker io 啟動 docker service docker start 用的阿里雲上的docker映象 docker pull registry.cn hangzhou.aliyuncs....

Docker環境下安裝Redis

hello 各位同學,今天講的是docker環境下安裝redis 伺服器環境配置 cpu 2核 記憶體 4 gib 作業系統 centos 7.6 64位 一 開始安裝 從docker映象倉庫拉取映象 第一步 root izuf6d9y2x6c8r92unymr1z docker search re...