如何将redis转储从3.2版(无docker)恢复到6.0版(使用bitnami docker映像运行)
初始目标如何将redis转储从3.2版(无docker)恢复到6.0版(使用bitnami docker映像运行),docker,redis,docker-compose,restore,bitnami,Docker,Redis,Docker Compose,Restore,Bitnami,初始目标 目前,我们有一个旧版本的redis运行在单个物理服务器上(redis v3.2.1)。目标是使用sentinel for HA实现redis/slave拓扑。 实现这一点的一种方法是使用版本6创建此单一实例的从属。不幸的是,版本3和版本6之间存在icompatibility 我想做的事 我尝试将转储还原为版本。它很好用 然后我尝试恢复到版本,但失败了,并且 dump.rdb已自动完全替换为空文件 如何复制 通过以下方式安装redis的单个实例: apt安装-y redis服务器
目前,我们有一个旧版本的redis运行在单个物理服务器上(redis v3.2.1)。目标是使用sentinel for HA实现redis/slave拓扑。 实现这一点的一种方法是使用版本6创建此单一实例的从属。不幸的是,版本3和版本6之间存在icompatibility 我想做的事
- 我尝试将转储还原为版本。它很好用
- 然后我尝试恢复到版本,但失败了,并且 dump.rdb已自动完全替换为空文件
- 通过以下方式安装redis的单个实例:
- 使用此docker-compose.yml文件创建redis容器
docker compose up-d
docker stop redis master
#将
test_redis\u data\u master替换到右侧文件夹
sudo cp dump.rdb/var/lib/docker/volumes/test\u redis\u data\u master/\u data/dump.rdb
使用此docker compose文件,它可用于v4.0.2-r0,但不能用于v4.0.2-r1。此处的cf日志:
v4.0.2-r0 30:M 01 Dec 13:52:55.993#服务器已初始化30:M 01 Dec 13:52:58.049*DB从磁盘加载:2.056秒30:M 01十二月 13:52:58.049*准备接受连接
数据库已成功加载 v4.0.2-r1 20:M 01 Dec 13:49:05.472#服务器已初始化20:M 01 Dec 13:49:05.472*准备接受连接
数据库为空 结论 你能帮我解决这个问题吗。是否有人面临相同的问题或情况?
提前感谢您的帮助:D您是否尝试过直接从4.0升级到5.0? 我不认为一个版本一个版本升级是个好主意,因为我们每天都会发布一个新版本,有时候,他们会用另一个版本修补错误。
除此之外,我建议您按照官方文档升级数据库。主要版本通常意味着不兼容的更改,所以我很确定您会发现一些问题。仅更改图像标签很可能无法工作。您是否尝试过直接从4.0升级到5.0? 我不认为一个版本一个版本升级是个好主意,因为我们每天都会发布一个新版本,有时候,他们会用另一个版本修补错误。 除此之外,我建议您按照官方文档升级数据库。主要版本通常意味着不兼容的更改,所以我很确定您会发现一些问题。仅更改图像标记很可能不起作用
version: '2'
services:
redis-master:
#image: 'bitnami/redis:6.0'
#image: 'bitnami/redis:4.0.2-r1'
image: 'bitnami/redis:4.0.2-r0'
container_name: redis-master
volumes:
- 'redis_data_master:/bitnami/redis/data'
ports:
- '6379:6379'
environment:
- REDIS_REPLICATION_MODE=master
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
volumes:
redis_data_master:
driver: local