ubuntu+docker搭建etcd集群

1 下载compose,使用下面的指令下载compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2 将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

wilson@wilson-virtual-machine:~$ sudo chmod +x /usr/local/bin/docker-compose
wilson@wilson-virtual-machine:~$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ln: failed to create symbolic link '/usr/bin/docker-compose': File exists
wilson@wilson-virtual-machine:~$ ls
app_private_key.pem  app_public_key.pem  chaincode  conf  Desktop  Documents  Downloads  dump.rdb  go  java_error_in_goland_.hprof  logs  Music  mydata  mytestfaric  Pictures  Postman  pprof  Public  snap  Templates  tomcat  Videos  www
wilson@wilson-virtual-machine:~$ cd /usr/local/bin/
wilson@wilson-virtual-machine:/usr/local/bin$ ls
configtxgen    consul     discover        fabric-ca-client      idemixgen  peer    redis-benchmark  redis-check-dump  redis-sentinel  tclsh8.6
configtxlator  cryptogen  docker-compose  get-docker-images.sh  orderer    protoc  redis-check-aof  redis-cli         redis-server
wilson@wilson-virtual-machine:/usr/local/bin$ pwd
/usr/local/bin
wilson@wilson-virtual-machine:/usr/local/bin$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ln: failed to create symbolic link '/usr/bin/docker-compose': File exists
wilson@wilson-virtual-machine:/usr/local/bin$ ls
configtxgen    consul     discover        fabric-ca-client      idemixgen  peer    redis-benchmark  redis-check-dump  redis-sentinel  tclsh8.6
configtxlator  cryptogen  docker-compose  get-docker-images.sh  orderer    protoc  redis-check-aof  redis-cli         redis-server
wilson@wilson-virtual-machine:/usr/local/bin$ cp docker-compose /usr/bin/
cp: cannot create regular file '/usr/bin/docker-compose': Permission denied
wilson@wilson-virtual-machine:/usr/local/bin$ sudo cp docker-compose /usr/bin/

3 测试是否安装成功: 拉取etcd官方镜像

wilson@wilson-virtual-machine:/usr/bin$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
wilson@wilson-virtual-machine:/usr/bin$ cker-compose version 1.24.1
cker-compose: command not found
wilson@wilson-virtual-machine:/usr/bin$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
wilson@wilson-virtual-machine:/usr/bin$ cker-compose version 1.24.1
cker-compose: command not found
wilson@wilson-virtual-machine:/usr/bin$ docker-compose version 1.24.1
Show version information

Usage: version [--short]

Options:
    --short     Shows only Compose's version number.
wilson@wilson-virtual-machine:/usr/bin$ docker pull quay.io/coreos/etcd
Using default tag: latest
latest: Pulling from coreos/etcd
ff3a5c916c92: Already exists 
96b0e24539ea: Pull complete 
d1eca4d01894: Pull complete 
ad732d7a61c2: Pull complete 
8bc526247b5c: Pull complete 
5f56944bb51c: Pull complete 
Digest: sha256:5b6691b7225a3f77a5a919a81261bbfb31283804418e187f7116a0a9ef65d21d
Status: Downloaded newer image for quay.io/coreos/etcd:latest

4
在一个文件夹下创建 etcd-compose.yml文件,用于管理etcd容器 etcd-compost.yml

version: '3'
services:
  etcd-node1:
    image: "quay.io/coreos/etcd"
    container_name: "etcd-node1"
    ports:
      - "12379:2379"
      - "12380:2380"
    command: 'etcd -name etcd-node1 -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 "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
    networks:
      - "etcd"

  etcd-node2:
    image: "quay.io/coreos/etcd"
    container_name: "etcd-node2"
    ports:
      - "22379:2379"
      - "22380:2380"
    command: 'etcd -name etcd-node2 -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 "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
    networks:
      - "etcd"

  etcd-node3:
    image: "quay.io/coreos/etcd"
    container_name: "etcd-node3"
    ports:
      - "32379:2379"
      - "32380:2380"
    command: 'etcd -name etcd-node3 -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 "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
    networks:
      - "etcd"

networks:
  etcd:

5 启动yml文件

wilson@wilson-virtual-machine:/opt/go/src/awesomeProjects$ docker-compose -f etcd-compost.yml up -d
Creating network "awesomeprojects_etcd" with the default driver
Creating etcd-node2 ... done
Creating etcd-node3 ... done
Creating etcd-node1 ... done
wilson@wilson-virtual-machine:/opt/go/src/awesomeProjects$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
d345e4f98677        quay.io/coreos/etcd   "etcd -name etcd-nod…"   10 seconds ago      Up 4 seconds        0.0.0.0:12379->2379/tcp, 0.0.0.0:12380->2380/tcp   etcd-node1
c03b26a2ce98        quay.io/coreos/etcd   "etcd -name etcd-nod…"   10 seconds ago      Up 5 seconds        0.0.0.0:32379->2379/tcp, 0.0.0.0:32380->2380/tcp   etcd-node3
2fe6a91844fb        quay.io/coreos/etcd   "etcd -name etcd-nod…"   10 seconds ago      Up 6 seconds        0.0.0.0:22379->2379/tcp, 0.0.0.0:22380->2380/tcp   etcd-node2

在这里插入图片描述

export ETCDCTL_API=3;

flag provided but not defined: -prefix
/ # 
/ # 
/ # 
/ # etcdctl member list
5b926f852fa1811: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://0.0.0.0:2379 isLeader=true
9b3cd975d37c44ce: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://0.0.0.0:2379 isLeader=false
9e13ad3ed0f8a26b: name=etcd-node3 peerURLs=http://etcd-node3:2380 clientURLs=http://0.0.0.0:2379 isLeader=false
/ # export ETCDCTL_API=3;
/ # 
/ # etcdctl get --prefix ""
/micro/registry/go.micro.http.broker/greeter-3d16f350-24c9-4675-b3a5-14bc753b61e5
{"name":"go.micro.http.broker","version":"ff.http.broadcast","metadata":null,"endpoints":null,"nodes":[{"id":"greeter-3d16f350-24c9-4675-b3a5-14bc753b61e5","address":"192.168.33.134:36231","metadata":{"broker":"http","secure":"false","topic":"greeter"}}]}
/micro/registry/greeter/greeter-562572e3-664a-4b13-99b8-df0b225b5b47
{"name":"greeter","version":"2021.06.03.11.20","metadata":null,"endpoints":[{"name":"Greeter.Hello","request":{"name":"HelloRequest","type":"HelloRequest","values":[{"name":"name","type":"string","values":null}]},"response":{"name":"HelloResponse","type":"HelloResponse","values":[{"name":"greeting","type":"string","values":null}]},"metadata":{}}],"nodes":[{"id":"greeter-562572e3-664a-4b13-99b8-df0b225b5b47","address":"192.168.33.134:44191","metadata":{"broker":"http","protocol":"mucp","registry":"etcd","server":"mucp","transport":"http"}}]}
/ # 
/ # 
/ # 
/ # 
/ # 

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值