Docker部署ETCD服务
前几天发了一篇文章说go-zero和ETCD的关联和go-zero开发微服务是否必须使用ETCD
还没看过这篇文章的请移步到:使用go-zero进行微服务开发的时候一定需要etcd吗?
话不多说,下面开始使用Docker部署ETCD服务
1、在某一个文件夹中创建docker-compose.yml,然后把下面的内容复制过去
version: "3.5"
services:
etcd:
hostname: etcd
image: bitnami/etcd:3
deploy:
replicas: 1
restart_policy:
condition: on-failure
privileged: true
volumes:
- "./data:/bitnami/etcd/data"
environment:
- "ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379"
- "ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379"
- "ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380"
- "ETCD_INITIAL_ADVERTISE_PEER_URLS=http://0.0.0.0:2380"
#参数指不用密码可以连接
- "ALLOW_NONE_AUTHENTICATION=yes"
- "ETCD_INITIAL_CLUSTER=node1=http://0.0.0.0:2380"
- "ETCD_NAME=node1"
- "ETCD_DATA_DIR=./data"
ports:
- 2379:2379
- 2380:2380
networks:
- etcdnet
networks:
etcdnet:
name: etcdnet
2、在刚刚的目录下创建ETCD数据存放的文件夹data,上面的yml写了volumes: - "./data:/bitnami/etcd/data"
那么文件名一定要对上
3、在当前目录输入命令docker-compose up -d
4、完成了,输入docker ps
看运行状态,没有问题
5、看看数据挂载有没有出错,看到data文件夹已经有数据了