Bootstrap

Docker Compose etcd 服务

目录

/usr/etcd

vim docker-compose.yml

version: '3.7'

services:
  etcd:
    image: quay.io/coreos/etcd:v3.5.7
    container_name: etcd
    environment:
      - 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=etcd
    volumes:
      - etcd-data:/etcd-data
    ports:
      - "2379:2379"
      - "2380:2380"
    command: /usr/local/bin/etcd

volumes:
  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

;