docker中安装

调试安装使用

简单无密码

# bitnami/etcd 镜像已无效 使用openeuler/etcd:latest替代

docker run -d --restart=always --name etcd \
  -p 2379:2379 \
  -p 2380:2380 \
  -e ALLOW_NONE_AUTHENTICATION=yes \
  -e ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379 \
  openeuler/etcd:latest

备注: openeuler/etcd:latest 镜像,无法进入命令行,这个是最基础的镜像

生产安装

mkdir -p /data/etcd/{data,conf}

chmod -R 775 /data/etcd/{data,conf}

创建配置文件

vi /data/etcd/conf/etcd.yml

name: node1
data-dir: /etcd-data

listen-client-urls: http://0.0.0.0:2379
advertise-client-urls: http://127.0.0.1:2379

listen-peer-urls: http://0.0.0.0:2380
initial-advertise-peer-urls: http://127.0.0.1:2380

initial-cluster: node1=http://127.0.0.1:2380
initial-cluster-state: new
initial-cluster-token: etcd-cluster-1

logger: zap
log-level: info

运行容器

docker run -d \
  --name etcd \
  --restart=always \
  -p 2379:2379 \
  -p 2380:2380 \
  -v /data/etcd/conf/etcd.yml:/etc/etcd/etcd.yml:ro \
  -v /data/etcd/data:/etcd-data \
  openeuler/etcd:latest \
  etcd --config-file=/etc/etcd/etcd.yml

配置账号密码

# 创建 root 用户 并设置密码
docker exec -it etcd \
  etcdctl user add root \
  --interactive=false \
  --new-user-password="密码"

# 创建 root 角色(如已存在会提示)
docker exec -it etcd etcdctl role add root

# 给 root 全权限(⚠️ 必须)
docker exec -it etcd \
  etcdctl role grant-permission root readwrite /

# 绑定用户和角色
docker exec -it etcd \
  etcdctl user grant-role root root

# 开启 ACL(最后一步,不可逆)
docker exec -it etcd etcdctl auth enable
作者:admin  创建时间:2023-10-03 20:13
最后编辑:admin  更新时间:2026-01-08 16:35