首页 > 其他分享 >docker-compose 搭建 etcd 集群

docker-compose 搭建 etcd 集群

时间:2024-01-15 17:27:00浏览次数:25  
标签:etcd3 etcd2 compose http etcd 2380 ETCD docker

准备工作
安装好 docker 与 docker-compose
下载etcd镜像:docker pull bitnami/etcd:latest
最好关闭防火墙。如果遇到外部主机能ping通linux,但是不能访问docker容器的情况,需要开启防火墙,然后再关掉防火墙,最后重启docker即可。

docker-compose.yml

version: "3.0"

networks:
  etcd-net:           # 网络
    driver: bridge    # 桥接模式

volumes:
  etcd1_data:         # 挂载到本地的数据卷名
    driver: local
  etcd2_data:
    driver: local
  etcd3_data:
    driver: local
###
### etcd 其他环境配置见:https://doczhcn.gitbook.io/etcd/index/index-1/configuration
###
services:
  etcd1:
    image: bitnami/etcd:latest  # 镜像
    container_name: etcd1       # 容器名 --name
    restart: always             # 总是重启
    networks:
      - etcd-net                # 使用的网络 --network
    ports:                      # 端口映射 -p
      - "20000:2379"
      - "20001:2380"
    environment:                # 环境变量 --env
      - ALLOW_NONE_AUTHENTICATION=yes                       # 允许不用密码登录
      - ETCD_NAME=etcd1                                     # etcd 的名字
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd1:2380  # 列出这个成员的伙伴 URL 以便通告给集群的其他成员
      - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380           # 用于监听伙伴通讯的URL列表
      - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379         # 用于监听客户端通讯的URL列表
      - ETCD_ADVERTISE_CLIENT_URLS=http://etcd1:2379        # 列出这个成员的客户端URL,通告给集群中的其他成员
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster             # 在启动期间用于 etcd 集群的初始化集群记号
      - ETCD_INITIAL_CLUSTER=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380 # 为启动初始化集群配置
      - ETCD_INITIAL_CLUSTER_STATE=new                      # 初始化集群状态
    volumes:
      - etcd1_data:/bitnami/etcd                            # 挂载的数据卷

  etcd2:
    image: bitnami/etcd:latest
    container_name: etcd2
    restart: always
    networks:
      - etcd-net
    ports:
      - "20002:2379"
      - "20003:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes
      - ETCD_NAME=etcd2
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd2:2380
      - 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://etcd2:2379
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
      - ETCD_INITIAL_CLUSTER=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380
      - ETCD_INITIAL_CLUSTER_STATE=new
    volumes:
      - etcd2_data:/bitnami/etcd

  etcd3:
    image: bitnami/etcd:latest
    container_name: etcd3
    restart: always
    networks:
      - etcd-net
    ports:
      - "20004:2379"
      - "20005:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes
      - ETCD_NAME=etcd3
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd3:2380
      - 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://etcd3:2379
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
      - ETCD_INITIAL_CLUSTER=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380
      - ETCD_INITIAL_CLUSTER_STATE=new
    volumes:
      - etcd3_data:/bitnami/etcd

关于docker-compose.yml如何使用

随便创建一个文件夹,并进入,例如:mkdir etcd & cd etcd
vim docker-compose.yml,将上面的配置全部拷贝进去
在etcd文件夹运行 docker-compose up 或者后台启动 docker-compose up -d
停止运行 docker-compose down

标签:etcd3,etcd2,compose,http,etcd,2380,ETCD,docker
From: https://www.cnblogs.com/erdong01/p/17965841

相关文章

  • linux安装docker 社区版(免费版)
    Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月)EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍DockerCE在CentOS上的安装。1.1.卸载(可选)如果之前安装......
  • docker安装软件
    安装pg1、拉取镜像dockerpullpostgres2、创建数据卷dockervolumecreatepostgre-data3、创建并运行容器dockerrun-id--name=postgresql-vpostgre-data:/var/lib/postgresql/data-p5432:5432-ePOSTGRES_PASSWORD=123456-eLANG=C.UTF-8postgres上述设定了数......
  • docker mysql8使用SSL及使用openssl生成自定义证书
    修改my.cnfvi/docker_data/mysql/conf/my.cnf[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]character-set-server=utf8mb4default_authentication_plugin=mysql_native_password#增加sslssl保存,重启mysql容器dockerrestartmysql-8.0.23......
  • Docker:InfluxDB的UI界面使用教程
    网络上的InfluxDBStudio客户端工具只适用于1.8之前的版本,所以为了更好的操作influxDB需要借助其自带的WebUI界面,本机部署访问地址:http://localhost:8086 首页常用功能:  Data:数据加载模块(LoadData),他包含策略桶管理、文件导入库、Telegraf、主动抓取任务、生成访问Token......
  • SSD中transform.Compose()参数说明
    ConvertFromInts()将图像像素值从int变成float32ToAbsoluteCoords()从比例坐标转为真实坐标(标准化)PhotometricDistort()对图像的亮度、对比度、色相与饱和度随机调整,然后随机调换通道Expand(mean)扩展图像画布尺寸RandomSampleCrop()随机裁剪图像RandomMirror()图像翻转......
  • Windows10安装Docker
    一、安装DockerDesktopforWindows在官网下载DockerDesktopforWindows:https://docs.docker.com/desktop/install/windows-install/;双击下载的DockerforWindowsInstaller安装文件,一路Next,点击Finish完成安装。注意:保持默认选择“InstallrequiredWindowscompo......
  • docker mysql8 忘记root密码解决方法
    使用docker搭建mysql,docker-compose.ymlversion:"2.1"services:mysql:image:mysql:8.0.35container_name:mysql8healthcheck:test:["CMD","mysqladmin","ping","-h","localhost&q......
  • docker 常用命令大全
     docker常用命令大全个人理解docker中的镜像就像是咱们java中的Class,而容器呢是基于这个镜像构建出的实例类似于咱java中根据Class构造出的一个个实例对象,本人是初学者理解有误还请见谅,并麻烦您说说您的看法让彼此相互学习… 按我理解简言之docker镜像:--......
  • Linux安装Docker完整教程
    Linux安装Docker之前使用的CentOS8由于停止维护了,这意味着无法再使用新版本的软件包更新了,由于Docker支持64位版本CentOS7,并且要求内核版本不低于3.10,CentOS7满足最低内核的要求,所以这次在CentOS7安装Docker。本篇文档参考黑马Docker课件,希望这篇文章对大家能有帮助......
  • Docker完整教程
    一、安装Docker♦️1.下载关于Docker的依赖环境在Xterm中输入以下代码安装依赖环境回车yum-yinstallyum-utilsdevice-mapper-persistent-datalvm2使用yum工具下载yum是软件包管理工具通过执行manyum可以查看yum的帮助信息♦️2.设置一下下载Docker的镜像源依赖......