redis通过redis-dump镜像实现数据迁移
目录
- 一、Redis-djavascriptump 镜像打包
- 1.1 安装Windows docker
- 1.2 idea项目创建
- 1.3 idea镜像打包
- 二、redis数据迁移
- 2.1 数据导出
- 2.2 数据导入
一、redis-dump 镜像打包
没有找到可用的redis-dump镜像,需要自己打包一下,这里我是在idea直接打包的
1.1 安装windows docker
我没有可用的docker环境,有的话可用连接可用的docker环境,无需部署windows版docker
windows docker 下载安装:
https://docs.docker.com/desktop/setup/install/windows-install/
注意要配置国内镜像源,不然会有拉取不到镜像的可能
点击小齿轮进入设置页面,点击左侧菜单栏的docker engine ,设置国内镜像源,如下图所示php:
设置国内镜像源
{ "bjavascriptuilder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, FyxsF"experimental": false, "host": [ "0.0.0.0:2375" ], "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://mirror.ccs.tencentyun.com", "https://reg-mirror.qiniu.com", "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.nju.edu.cn" ] }
1.2 idea项目创建
新建maven项目,其他类型的或许也可以,但平时建maven项目习惯了
新建dockerfile文件
目录结构如下:
dockerfile文件内容如下:
FROM redis RUN echo "" > javascript/etc/apt/sources.list RUN echo "deb http://mirrors.aliyun.com/Debian/ bullseye main non-free contrib" >> /etc/apt/sources.list RUN echo "deb http://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list RUN echo "deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list RUN echo "deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list RUN cat /etc/os-release RUN redis-cli -v RUN apt-get update && apt-get install ruby-dev -y \ && apt-get install make -y \ && apt-get install procps -y \ && apt-get install gcc -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # RUN gem sources -a http://ruby.taobao.org/ RUN gem install redis RUN gem install uri RUN gem install uri-redis RUN gem install drydock # RUN gem install highline RUN gem install yajl-ruby --platform=ruby RUN gem install redis-dump -V
1.3 idea镜像打包
点击 edit configurations
点击+,添加dockerfile
新建docker连接,我这里连接本地docker,使用的tcp连接方式
配置内容如图:
配置好后,点击运行:
查看生成的镜像
PS D:\IdeaProjects\dockerTest> docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis-dump latest f650cbe799ad 3 weeks ago 419MB
使用save命令保存,命令参考:菜鸟教程
二、redis数据迁移
2.1 数据导出
docker run redis-dump redis-dump -u redis://ip:6379 -d 0 > /redis-dump.json # 或者也可以进入到容器内执行
2.2 数据导入
# 镜像启动 docker run redis-dump redis-dump # 将json文件传入容器内 docker cp /redis-dump.json docker_id:/ # 进入容器 docker exec -it docker_id /bin/bash # 数据导入 cat /redis-dump.json | redis-load -u:redis密码@ip:6379
到此这篇关于redis通过redis-dump镜像实现数据迁移的文章就介绍到这了,更多相关redis redis-dump镜像数据迁移内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论