本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为 etcd 的 Docker 镜像,是 k8s.gcr.io/etcd 仓库中部分标签的镜像,提供与上游 etcd 一致的功能和特性。etcd 是一个分布式、可靠的键值存储系统,基于 Raft 共识算法实现数据一致性,专为共享配置和服务发现设计。
/registry/pods/my-pod)。v3.5.10 对应 Kubernetes 1.24+),确保集群组件兼容性。通过 Docker 命令拉取镜像,指定标签(标签列表需参考上游 k8s.gcr.io/etcd 仓库,如 v3.5.10):
docker pull <镜像仓库地址>/etcd:<tag> # 替换 <镜像仓库地址> 和 <tag>,例如原镜像地址为 k8s.gcr.io/etcd
适用于开发或测试环境,快速启动单节点 etcd 服务:
docker run -d \ --name etcd-single \ --publish 2379:2379 \ # 客户端通信端口 --publish 2380:2380 \ # 节点间通信端口(集群模式使用) --volume etcd-data:/var/lib/etcd \ # 数据持久化(Docker 卷) <镜像仓库地址>/etcd:<tag> \ etcd \ --name=etcd-node-1 \ # 节点名称(集群内唯一) --data-dir=/var/lib/etcd \ # 数据存储目录 --advertise-client-urls=[***] \ # 客户端通信地址(对外暴露) --listen-client-urls=[***] \ # 监听客户端连接地址(容器内) --initial-advertise-peer-urls=[***] \ # 节点间通信地址(对外暴露) --listen-peer-urls=[***] \ # 监听节点间连接地址(容器内) --initial-cluster=etcd-node-1=[***] \ # 初始集群配置(单节点) --initial-cluster-token=etcd-cluster-token \ # 集群令牌(确保唯一性) --initial-cluster-state=new # 集群状态(new 表示新建集群)
适用于测试环境模拟 etcd 集群,使用 Docker Compose 编排 3 个节点:
创建 docker-compose.yml 文件:
version: '3' services: etcd-1: image: <镜像仓库地址>/etcd:<tag> container_name: etcd-1 ports: - "2379:2379" # 客户端端口 - "2380:2380" # 节点间通信端口 volumes: - etcd-data-1:/var/lib/etcd command: - etcd - --name=etcd-1 - --data-dir=/var/lib/etcd - --advertise-client-urls=[***] - --listen-client-urls=[***] - --initial-advertise-peer-urls=[***] - --listen-peer-urls=[***] - --initial-cluster=etcd-1=[***] - --initial-cluster-token=etcd-cluster-token - --initial-cluster-state=new networks: - etcd-net etcd-2: image: <镜像仓库地址>/etcd:<tag> container_name: etcd-2 ports: - "2381:2379" - "2382:2380" volumes: - etcd-data-2:/var/lib/etcd command: - etcd - --name=etcd-2 - --data-dir=/var/lib/etcd - --advertise-client-urls=[***] - --listen-client-urls=[***] - --initial-advertise-peer-urls=[***] - --listen-peer-urls=[***] - --initial-cluster=etcd-1=[***] - --initial-cluster-token=etcd-cluster-token - --initial-cluster-state=new networks: - etcd-net etcd-3: image: <镜像仓库地址>/etcd:<tag> container_name: etcd-3 ports: - "2383:2379" - "2384:2380" volumes: - etcd-data-3:/var/lib/etcd command: - etcd - --name=etcd-3 - --data-dir=/var/lib/etcd - --advertise-client-urls=[***] - --listen-client-urls=[***] - --initial-advertise-peer-urls=[***] - --listen-peer-urls=[***] - --initial-cluster=etcd-1=[***] - --initial-cluster-token=etcd-cluster-token - --initial-cluster-state=new networks: - etcd-net volumes: etcd-data-1: etcd-data-2: etcd-data-3: networks: etcd-net: driver: bridge
启动集群:
docker-compose up -d
etcd 数据需持久化存储以避免容器重启后数据丢失,支持以下两种方式:
etcd-data:/var/lib/etcd。docker run -d \ --name etcd \ -v /host/path/to/etcd/data:/var/lib/etcd \ # 主机目录绑定到容器内数据目录 <镜像仓库地址>/etcd:<tag> \ ... # 其他参数
etcd 主要通过命令行参数配置,常用参数说明如下:
| 参数 | 描述 | 示例值 |
|---|---|---|
--name | 节点名称,集群内唯一 | etcd-node-1 |
--data-dir | 数据存储目录 | /var/lib/etcd |
--advertise-client-urls | 对外暴露的客户端通信地址(供客户端连接) | [***] |
--listen-client-urls | 监听客户端连接的地址(容器内地址,通常为 0.0.0.0:2379) | [***] |
--initial-advertise-peer-urls | 对外暴露的节点间通信地址(供其他节点连接) | [***] |
--listen-peer-urls | 监听节点间连接的地址(容器内地址,通常为 0.0.0.0:2380) | [***] |
--initial-cluster | 初始集群成员配置,格式为 <节点名>=<节点间通信地址>,... | etcd-1=[***] |
--initial-cluster-token | 集群令牌,用于标识集群唯一性,新建集群时需指定 | etcd-cluster-token-123 |
--initial-cluster-state | 集群状态,new 表示新建集群,existing 表示加入现有集群 | new |
--client-cert-auth | 是否启用客户端证书认证(HTTPS 时) | true |
--trusted-ca-file | 可信 CA 证书文件路径(HTTPS 时) | /etc/etcd/ssl/ca.pem |
使用 etcdctl 工具(容器内已内置)与 etcd 服务交互:
进入容器:
docker exec -it etcd-single sh
存储键值对:
etcdctl put /my-key "my-value"
获取键值对:
etcdctl get /my-key
监听键变化:
etcdctl watch /my-key # 另一个终端执行 put 操作,此终端会输出变化
etcdctl snapshot save 备份数据,确保故障时可恢复。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429