记一次etcd数据恢复

使用官方示例

bash 复制代码
  etcd:
    image: bitnami/etcd:3.4.15
    restart: always
    volumes:
      - ./etcd_data:/bitnami/etcd
    environment:
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
      ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"

    ports:
      - "2379:2379/tcp"
    networks:
      docker:

备份

ETCDCTL_API=3 docker exec -it etcd etcdctl --endpoints=":2379" snapshot save "/bitnami/etcd/snapshot.db"

这时snapshot.db文件在./etcd_data下面,可以复制到对应宿主机上的etcd映射目录下

恢复

bash 复制代码
1 
docker docker exec -it   api-etcd-1 bash
2
etcdctl snapshot restore /bitnami/etcd/snapshot.db --data-dir /bitnami/etcd/new_data
3
退出变更配置,指定新的数据目录 - ./etcd_data/new_data:/bitnami/etcd/data
4
重新启动服务
相关推荐
程序员清风7 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤8 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
皮皮林5518 小时前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊14 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing14 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠1 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840821 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide1 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家1 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺1 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java