主頁(yè) > 知識(shí)庫(kù) > Docker跨主機(jī)容器通信overlay實(shí)現(xiàn)過(guò)程詳解

Docker跨主機(jī)容器通信overlay實(shí)現(xiàn)過(guò)程詳解

熱門(mén)標(biāo)簽:智能手機(jī) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 檢查注冊(cè)表項(xiàng) 美圖手機(jī) 使用U盤(pán)裝系統(tǒng) 網(wǎng)站建設(shè) 阿里云

同樣是兩臺(tái)服務(wù)器:

準(zhǔn)備工作: 

設(shè)置容器的主機(jī)名

consul:kv類(lèi)型的存儲(chǔ)數(shù)據(jù)庫(kù)(key:value)
docker01、02上:
vim /etc/docker/daemon.json
{
 "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"], 這行改了要修改自己的docker配置文件
 "cluster-store": "consul://10.0.0.11:8500",
 "cluster-advertise": "10.0.0.11:2376"   另外一臺(tái)寫(xiě)自己的ip即可
}
vim /etc/docker/daemon.json
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock 這行改成這樣,兩臺(tái)的都要改
systemctl daemon-reload
systemctl restart docker

 docker01上:

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap 這條命令在設(shè)置容器的主機(jī)名之后做
[root@docker1 centos_zabbix]# docker images
REPOSITORY              TAG         IMAGE ID      CREATED       SIZE
10.0.0.11:5000/kode         v2         6914fda5fd44    4 hours ago     502MB
kode                 v2         6914fda5fd44    4 hours ago     502MB
10.0.0.11:5000/centos6.9_nginx_ssh  v3         92b1087df3f5    13 hours ago    431MB
centos6.9_nginx_ssh         v3         92b1087df3f5    13 hours ago    431MB
centos6.9_nginx_ssh         v2         6307e23ee16d    13 hours ago    431MB
<none>                <none>       b94c822488f9    13 hours ago    431MB
centos6.9_nginx_ssh         v1         f01eeebf918a    13 hours ago    431MB
<none>                <none>       54167f1d659b    13 hours ago    431MB
<none>                <none>       71474e616504    13 hours ago    430MB
centos6.9_ssh            v2         03387f99f022    14 hours ago    307MB
<none>                <none>       82d0e9ce844b    14 hours ago    195MB
kode                 v1         c0f486ac58fe    15 hours ago    536MB
progrium/consul           latest       09ea64205e55    4 years ago     69.4MB  這里有了
[root@docker1 centos_zabbix]# docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED    STATUS            PORTS                     NAMES
1016753ee64d    progrium/consul   "/bin/start -server …"  4 minutes ago    Exited (255) 3 minutes ago  53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp  consul

最后在頁(yè)面上訪(fǎng)問(wèn):

2)創(chuàng)建overlay網(wǎng)絡(luò)

docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1 這個(gè)網(wǎng)段不能和宿主機(jī)上相同,并且隨便在一臺(tái)上執(zhí)行這個(gè)命令即可

查看容器的網(wǎng)絡(luò),有沒(méi)有出現(xiàn)overlay

[root@docker1 shell]# docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
e480a4fe5f4b    bridge       bridge       local
0a3cbfe2473f    host        host        local
4e5ccdc657e1    macvlan_1      macvlan       local
aab77f02a0b1    none        null        local
8ae111afded7    ol1         overlay       global

3)啟動(dòng)容器測(cè)試

一臺(tái)上:
docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash
另外一臺(tái)上:
docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash
 
之后可以通過(guò)test01和test02之間聯(lián)通

之后可以通過(guò)test01和test02之間聯(lián)通  

真實(shí)原理:

每個(gè)容器有兩塊網(wǎng)卡,eth0實(shí)現(xiàn)容器間的通訊,eth1實(shí)現(xiàn)容器訪(fǎng)問(wèn)外網(wǎng) 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:煙臺(tái) 湖北 懷化 通遼 湘潭 山南 賀州 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker跨主機(jī)容器通信overlay實(shí)現(xiàn)過(guò)程詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266