mac上面通过docker部署etcd,并且测试服务注册和服务发现

一、部署环境:

macbook pro 上面安装了docker;

二、部署etcd步骤

1、mac上面下载etcd基础镜像

docker pull quay.io/coreos/etcd

2、创建网络组

在我的mac上要运行三个容器,因此创建个网络,三个容器在同一个网络里面

docker network create --subnet=192.167.0.0/16 etcdnet

3、分别创建三个容器

容器IP客户端通信端口peer通信端口
容器A192.167.0.168 2379 2380
容器B192.167.0.170 24792480
容器C192.167.0.172  2579 2580

1)、先创建容器A:

docker run -d -p 2379:2379 -p 2380:2380 --restart=always --net etcdnet --ip 192.167.0.168 --name etcd0 quay.io/coreos/etcd /usr/local/bin/etcd --name autumn-client0 -advertise-client-urls http://192.167.0.168:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http://192.167.0.168:2380 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster autumn-client0=http://192.167.0.168:2380,autumn-client1=http://192.167.0.170:2480,autumn-client2=http://192.167.0.172:2580 -initial-cluster-state new

2)、创建容器B:

docker run -d -p 2479:2479 -p 2480:2480 --restart=always --net etcdnet --ip 192.167.0.170 --name etcd1 quay.io/coreos/etcd /usr/local/bin/etcd --name autumn-client1 -advertise-client-urls http://192.167.0.170:2479 -listen-client-urls http://0.0.0.0:2479 -initial-advertise-peer-urls http://192.167.0.170:2480 -listen-peer-urls http://0.0.0.0:2480 -initial-cluster-token etcd-cluster -initial-cluster autumn-client0=http://192.167.0.168:2380,autumn-client1=http://192.167.0.170:2480,autumn-client2=http://192.167.0.172:2580 -initial-cluster-state new

3)、创建容器C:

docker run -d -p 2579:2579 -p 2580:2580 --restart=always --net etcdnet --ip 192.167.0.172 --name etcd2 quay.io/coreos/etcd /usr/local/bin/etcd --name autumn-client2 -advertise-client-urls http://192.167.0.172:2579 -listen-client-urls http://0.0.0.0:2579 -initial-advertise-peer-urls http://192.167.0.172:2580 -listen-peer-urls http://0.0.0.0:2580 -initial-cluster-token etcd-cluster -initial-cluster autumn-client0=http://192.167.0.168:2380,autumn-client1=http://192.167.0.170:2480,autumn-client2=http://192.167.0.172:2580 -initial-cluster-state new

里面一些参数说明:

  • --name:etcd集群中的节点名,这里可以随意,可区分且不重复就行 
  • --listen-peer-urls:监听的用于节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)
  • --initial-advertise-peer-urls:建议用于节点之间通信的url,节点间将以该值进行通信。
  • --listen-client-urls:监听的用于客户端通信的url,同样可以监听多个。
  • --advertise-client-urls:建议使用的客户端通信 url,该值用于 etcd 代理或 etcd 成员与 etcd 节点通信。
  • --initial-cluster-token: etcd-cluster-1,节点的 token 值,设置该值后集群将生成唯一 id,并为每个节点也生成唯一 id,当使用相同配置文件再启动一个集群时,只要该 token 值不一样,etcd 集群就不会相互影响。
  • --initial-cluster:也就是集群中所有的 initial-advertise-peer-urls 的合集。
  • --initial-cluster-state:new,新建集群的标志

4、测试k/v存储


#etcdctl put mykey "this is awesome"
No help topic for 'put' # etcdctl 需要设置环境变量 ETCDCTL_API=3,使用第三版的api,默认的api是2
#ETCDCTL_API=3 etcdctl put mykey "this is awesome"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你想要在Docker部署etcd时,可以按照以下步骤进行操作: 1. 首先,确保你已经安装Docker,并且Docker守护进程正在运行。 2. 下载etcdDocker镜像。你可以使用以下命令从Docker Hub上获取官方的etcd镜像: ``` docker pull quay.io/coreos/etcd ``` 3. 创建一个etcd容器。使用以下命令创建一个新的etcd容器: ``` docker run -d --name my-etcd -p 2379:2379 -p 2380:2380 \ --volume=/path/to/data:/etcd-data \ quay.io/coreos/etcd:latest \ /usr/local/bin/etcd \ --name my-etcd \ --data-dir /etcd-data \ --advertise-client-urls http://0.0.0.0:2379 \ --listen-client-urls http://0.0.0.0:2379 \ --initial-advertise-peer-urls http://0.0.0.0:2380 \ --listen-peer-urls http://0.0.0.0:2380 \ --initial-cluster my-etcd=http://0.0.0.0:2380 \ --initial-cluster-token my-etcd-token \ --initial-cluster-state new ``` 这个命令会创建一个名为my-etcd的容器,并将容器的2379端口映射到主机的2379端口,以及将容器的2380端口映射到主机的2380端口。你可以根据需要修改这些端口映射。 4. 现在,你的etcd容器已经在Docker中运行起来了。你可以使用etcd客户端工具连接到容器并进行操作。例如,你可以使用以下命令连接到etcd容器: ``` docker exec -it my-etcd /bin/sh ``` 这将在容器内部启动一个shell会话,你可以在其中运行etcd客户端命令。 以上是在Docker部署etcd的基本步骤。你可以根据自己的需求进行进一步的配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值