docker搭建etcd集群环境
2024-08-26 04:58:26
其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群.
1.拉取etcd镜像
docker pull quay.io/coreos/etcd
2.编辑docker-compose.yaml文件:
version: ''
networks:
byfn:
services:
etcd1:
image: quay.io/coreos/etcd
container_name: etcd1
command: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
ports:
- "12379:2379"
-
networks:
- byfn
etcd2:
image: quay.io/coreos/etcd
container_name: etcd2
command: etcd -name etcd2 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
ports:
- "22379:2379"
-
networks:
- byfn
etcd3:
image: quay.io/coreos/etcd
container_name: etcd3
command: etcd -name etcd3 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
ports:
- "32379:2379"
-
networks:
- byfn
3.启动服务验证:
docker-compose up
#docker-compose down
curl -L http://127.0.0.1:12379/v2/members #查看etcd1的数据
curl -L http://127.0.0.1:22379/v2/members #查看etcd2的数据
curl -L http://127.0.0.1:32379/v2/members #查看etcd3的数据
#也可以用命令行工具etcdctl
docker exec -t etcd1 etcdctl member list
#我们往一个node上上传数据,在其他node上就能下载到
curl -L http://127.0.0.1:12379/v2/keys/foo -XPUT -d value="Hello foo"
curl -L http://127.0.0.1:12379/v2/keys/foo1/foo1 -XPUT -d value="Hello foo1"
curl -L http://127.0.0.1:12379/v2/keys/foo2/foo2 -XPUT -d value="Hello foo2"
curl -L http://127.0.0.1:12379/v2/keys/foo2/foo21/foo21 -XPUT -d value="Hello foo21"
curl -L http://127.0.0.1:22379/v2/keys/foo
curl -L http://127.0.0.1:22379/v2/keys/foo2
curl -L http://127.0.0.1:22379/v2/keys/foo2?recursive=true
参考:
最新文章
- Codeforces CF#628 Education 8 E. Zbazi in Zeydabad
- centos yum Segmentation fault 问题解决办法
- [转]Eclipse启动Tomcat时45秒超时解决方法
- [应用][js+css3]3D盒子导航[PC端]
- UITableViewCell的选中时的颜色设置
- 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧
- case when 对某个字段值分类讨论
- UDP模式与TCP模式的区别
- 【原】iOS 获取当前和 前后n天的日期
- MySQl 存储过程+游标
- 201521123081《java程序设计》 第12周学习总结
- JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换
- 《An Industrial-Strength Audio Search Algorithm》译文
- Javaweb——————sql常用思维导图
- 使用neo4j-import工具导入数据
- 【Acm】八皇后问题
- scrapy-redis基础和介绍
- iOS错误整理--自定义按钮,给按钮内部赋值出现的错误
- PHP解决并发问题的几种实现
- Linux命令-帮助命令:man
热门文章
- 恭喜你!看到这6个MES系统选型的大坑,千万要避免!
- How to use VideoToolbox to decompress H.264 video stream
- `Java`中`abstract class`与`interface`区别
- java全套学习资料
- python之pip安装软件包常用命令
- [转]【response】HttpServletResponse接口
- 高斯混合模型GMM与EM算法的Python实现
- docker学习-qiang
- opencart中文版checkout设置city和county为非必选
- centos7删除Apache组件