1、本文采用etcd3.5.1版本,首先下载etcd3.5.1 docker镜像

docker pull quay.io/coreos/etcd:v3.5.1

2、在自己设定的目录,比如/home/etcd下创建docker-compose.yml,内容如下

##xx.xx.xx.xx  为自己服务器ip地址
version: "3.7"services:etcd0:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd0ports:- "23800:2380"- "23790:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd0- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23790- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23800- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=newetcd1:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd1ports:- "23801:2380"- "23791:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd1- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23791- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23801- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=newetcd2:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd2ports:- "23802:2380"- "23792:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd2- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23792- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=new

3、在home/etcd目录下执行docker-compose up -d

4、验证是否成功,输入docker ps

然后根据容器id,查看每个容器中 etcd集群内成员信息,正常情况下,三个容器出现的结果是一致的。

[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 2b900596bc82  etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it cf932f70bd6a  etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 208ae882d104  etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false

测试一下,在容器A(etcd0)中创建一个key,在容器B(etcd1)和容器C(etcd2)中读取。

[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it cf932f70bd6a  etcdctl put Test "hello etcd"
OK
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 2b900596bc82  etcdctl get Test --prefix
Test
hello etcd
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 208ae882d104  etcdctl get Test --prefix
Test
hello etcd
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# 

可以看到,三个容器中的etcd已实现了数据同步过程。至此,etcd利用docker容器生成多节点模拟多台服务器来完成etcd集群的部署已完成。

docker 创建etcd集群相关推荐

  1. Docker下ETCD集群搭建

    Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...

  2. (通俗易懂~)Docker搭建Etcd集群

    (通俗易懂~)基于Docker的Etcd集群环境搭建 闲言碎语 Etcd简介 准备环境 第一步,下载Etc镜像 第二步,创建自定义Docker网络 第三步,创建并启动Etcd镜像节点 验证结果 完结撒 ...

  3. 使用docker创建swarm集群网络

    Docker集群网络,解决的问题是能同时响应多少请求.不是分布式计算,因为分布式计算是将一个任务拆分若干个子任务,然后将子任务分配到不同的机器上去执行. 集群网络的命令 (1)docker swarm ...

  4. ETCD教程(一) 通过docker安装etcd集群

    相关阅读: etcd教程(零)---etcd使用过程中遇到的问题 - etcd教程(二)---clientv3简单使用 - etcd教程(三)---etcd之v3API简单分析 - 本文主要记录了如何 ...

  5. k8s之创建etcd集群

    主机规划 maste01--192.168.10.63 master02--192.168.10.64 node01--192.168.10.65 node02--192.168.10.66 1.为保 ...

  6. 用Kubernetes搭建Etcd集群和WebUI

    今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...

  7. Etcd教程 — 第二章 Etcd集群静态发现

    Etcd教程 - 第二章 Etcd集群静态发现 一.Etcd集群安装方式 二.Etcd集群静态发现 2.1 静态启动的方式 ※2.2 单机搭建Etcd集群 2.2.1 安装 goreman工具 2.2 ...

  8. CA证书与ETCD集群

    目录 一.CA证书 二.制作K8S集群证书流程 1.制作官方颁发的证书 2.制作master端的证书 3.制作worker node端证书 (1)服务器单向认证 (3)双向 TLS 认证 三.K8S ...

  9. Docker Swarm(创建swarm集群,节点的升级降级,滚动更新,Portainer)

    Docker swarm 1.创建 Swarm 集群 2.部署swam监控 3.节点的降级升级 4.删除节点 5. 私有仓库的结合 6.滚动更新 滚动更新镜像版本 删除服务 7. 编写compose文 ...

最新文章

  1. Design Pattern - Adapter(C#)
  2. express get和post数据
  3. [数分提高]2014-2015-2第9教学周第1次课 (2015-04-28)
  4. html 鼠标图标做成动画效果,怎么实现鼠标经过图标动画效果
  5. eclipse打war包_jar包和war包的区别
  6. linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
  7. paip.svn 导入项目到SVN库
  8. 动手教你撸一个iOS颜色拾取器
  9. 小程序源码:长期稳定短视频去水印-多玩法安装简单
  10. 中国首个超250米高“空中连廊”幕墙工程合拢 创多项世界之最
  11. 【OpenBMC 系列】2.OpenBMC镜像编译流程
  12. height百分比%-px的实现(增加两个嵌套标签)~
  13. iOS获取设备IP地址
  14. 学网页平面UI设计让你挑战高薪
  15. 编译单个java文件
  16. c语言验证卡布列卡猜想,西安电子科技大学刘三阳教授为新生作专题讲座
  17. java界面绘制地铁路线_基于 HTML5 Canvas 的交互式地铁线路图
  18. 2023年黑马Java入门到精通教程--Java基础入门
  19. 【热门书籍】不生病的智慧 作者:马悦凌
  20. 量子计算机科学家姚期智,姚期智论文,关于图灵奖获得者姚期智:量子计算机只差“最后一公里”相关参考文献资料-免费论文范文...

热门文章

  1. xen(三)xl 工具使用
  2. ibm服务器中文件存储设置,IBMv7000存储服务器双活配置流程
  3. Gartner首次发布中国超融合市场竞争格局报告,ZETTAKIT泽塔云的差异化优势成重点关注对象
  4. eclipse不能启动
  5. OLT基本操作及ONU的认证
  6. Mysql创建自增序列方案(模拟Oracle序列)
  7. java日志框架详解
  8. 线性稳压电源与开关电源原理介绍
  9. 一步步教你怎么用python写贪吃蛇游戏!
  10. 用C语言写一个停车场管理系统代码