记一次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
重新启动服务
相关推荐
卧室小白9 分钟前
redis-配置
数据库·redis·缓存
向風而行42 分钟前
MySQL详解
数据库·mysql
身如柳絮随风扬1 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
belldeep1 小时前
本草纲目:如何应用 PostgreSQL 实现【中医药】主题数据库 ?
数据库·postgresql·本草纲目
Java小生不才2 小时前
Spring AI文生音
java·人工智能·spring
凯尔萨厮2 小时前
Springboot2.x+Thymeleaf项目创建
java
Bert.Cai2 小时前
MySQL CURTIME()函数详解
数据库·mysql
Bert.Cai2 小时前
MySQL CURDATE()函数详解
数据库·mysql
fish_xk2 小时前
map和set
java·开发语言
NGSI vimp2 小时前
MySQL|MySQL 中 `DATE_FORMAT()` 函数的使用
数据库·mysql