目录
/usr/etcd
vim docker-compose.yml
version: '3.7'services:etcd:image: quay.io/coreos/etcd:v3.5.7container_name: etcdenvironment:- ETCD_DATA_DIR=/etcd-data- 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://etcd:2379- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster-1- ETCD_INITIAL_CLUSTER=etcd=http://etcd:2380- ETCD_INITIAL_CLUSTER_STATE=new- ETCD_NAME=etcdvolumes:- etcd-data:/etcd-dataports:- "2379:2379"- "2380:2380"command: /usr/local/bin/etcdvolumes:etcd-data:
配置文件说明
测试环境
#ip
127.0.0.1
#开放端口
2380,2379
image: 使用 etcd 的 Docker 镜像,可以根据需要替换为最新版本。
container_name: 指定容器名称为 etcd。
ports:
2379:2379:将容器的 etcd 客户端通信端口 2379 映射到主机的 2379。
2380:2380:将容器的 etcd 节点间通信端口 2380 映射到主机的 2380。
environment:
配置了 etcd 的环境变量,包括监听的 URL、集群配置等。
volumes:
持久化 etcd 数据,防止容器重启后数据丢失。
restart: always:确保容器崩溃后自动重启。
启动 Docker Compose
#目录
/usr/etcd
#创建日志目录
mkdir etcd-data
sudo chmod 700 /usr/etcd/etcd-data#启动
docker-compose up -d
#结束
docker-compose down
#查看
docker-compose ps
#日志
docker-compose logs -f#检查 Etcd 服务的健康状态
docker-compose exec etcd etcdctl --endpoints=http://localhost:2379 endpoint health