我是靠谱客的博主 舒服流沙,最近开发中收集的这篇文章主要介绍docker-compose搭建etcd集群,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

点击链接查看我的个人博客,文章更全更详细

yml

version: "3.0"
networks:
  etcd-net:
    driver: bridge

volumes:
  etcd1_data:
    driver: local
  etcd2_data:
    driver: local
  etcd3_data:
    driver: local

services:
  etcd1:
    image: bitnami/etcd:latest
    container_name: etcd1
    restart: always
    networks:
      - etcd-net
    ports:
      - "30000:2379"
      - "30001:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes                        # 运训不用密码登陆
      - ETCD_NAME=etcd1                                      # 名字
      - 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:
      - "./data/etcd1_data:/bitnami/etcd"                           # 挂在的数据卷

  etcd2:
    image: bitnami/etcd:latest
    container_name: etcd2
    restart: always
    networks:
      - etcd-net
    ports:
      - "30002:2379"
      - "30003: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:
      - "./data/etcd2_data:/bitnami/etcd"

  etcd3:
    image: bitnami/etcd:latest
    container_name: etcd3
    restart: always
    networks:
      - etcd-net
    ports:
      - "30004:2379"
      - "30005: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:
      - "./data/etcd3_data:/bitnami/etcd"

docker-compose up -d

测试

etcd1 写入

docker exec -it etcd1 bash

I have no name!@77912e04a985:/opt/bitnami/etcd$ etcdctl put name "test"
OK

etcd2 读取

docker exec -it etcd2 bash
I have no name!@5972f7c68c5e:/opt/bitnami/etcd$ etcdctl get name
name
test

最后

以上就是舒服流沙为你收集整理的docker-compose搭建etcd集群的全部内容,希望文章能够帮你解决docker-compose搭建etcd集群所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部