Docker跨主機(jī)容器通信overlay實現(xiàn)過程詳解
同樣是兩臺服務(wù)器:
準(zhǔn)備工作:
設(shè)置容器的主機(jī)名
consul:kv類型的存儲數(shù)據(jù)庫(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" 另外一臺寫自己的ip即可
}
vim /etc/docker/daemon.json
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock 這行改成這樣,兩臺的都要改
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
最后在頁面上訪問:

2)創(chuàng)建overlay網(wǎng)絡(luò)
docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1 這個網(wǎng)段不能和宿主機(jī)上相同,并且隨便在一臺上執(zhí)行這個命令即可
查看容器的網(wǎng)絡(luò),有沒有出現(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)啟動容器測試
一臺上: docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash 另外一臺上: docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash 之后可以通過test01和test02之間聯(lián)通
之后可以通過test01和test02之間聯(lián)通
真實原理:
每個容器有兩塊網(wǎng)卡,eth0實現(xiàn)容器間的通訊,eth1實現(xiàn)容器訪問外網(wǎng)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在Docker容器之間如何進(jìn)行通信
- Docker?容器跨主機(jī)通信?overlay的詳細(xì)步驟
- Docker網(wǎng)絡(luò)配置與自定義IP容器通信
- Docker 容器之間的互相通信實現(xiàn)示例
- Docker容器跨主機(jī)通信overlay網(wǎng)絡(luò)的解決方案
- Docker容器之間的通信的方法實現(xiàn)
- Docker容器間通信與外網(wǎng)通信的操作
- Docker容器連接相互通信的實現(xiàn)
- 詳解Docker 容器跨主機(jī)多網(wǎng)段通信解決方案
- 詳解Docker容器跨主機(jī)通信的方法
- docker多個容器的相互通信實現(xiàn)步驟
相關(guān)文章
Docker、Podman 和 Containerd 三者區(qū)別解析
Docker、Podman 和 Containerd 是三種流行的容器工具,它們都用于容器的創(chuàng)建、管理和運(yùn)行,但它們在設(shè)計理念、功能和使用場景上有一些差異,這篇文章主要介紹了Docker、Podman 和 Containerd 三者區(qū)別,需要的朋友可以參考下2025-02-02
使用 Docker 搭建 Laravel 本地環(huán)境的教程詳解
laradock 是一個包含全功能用于 docker 的 PHP 運(yùn)行環(huán)境,使用 docker-compose 方式部署,本文重點給大家介紹使用 Docker 搭建 Laravel 本地環(huán)境的方法,感興趣的朋友一起看看吧2017-10-10
在docker環(huán)境中實現(xiàn)配置hosts
這篇文章主要介紹了在docker環(huán)境中實現(xiàn)配置hosts,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
Docker容器遷移之導(dǎo)入和導(dǎo)出容器方式
這篇文章主要介紹了Docker容器遷移之導(dǎo)入和導(dǎo)出容器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
使用Docker配置redis sentinel哨兵的方法步驟
本文主要介紹了Docker配置redis sentinel哨兵的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

