背景

  • 最近学习redis想能够将dump文件进行导入处理.
  • 看到比较好的办法都是使用ruby ,但是公司的网络太感人了.
  • 想着比较简单的办法是通过docker方式来搭建.
  • 这里简单记录一下搭建过程.

dockerfile

FROM redis
RUN echo "" > /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-dump -V

注意事项

  • 第一次build时总是出现异常提示如图示:
W: Failed to fetch http://mirrors.aliyun.com/debian/dists/bullseye/InRelease  Temporary failure resolving 'mirrors.aliyun.com'
W: Failed to fetch http://mirrors.aliyun.com/debian-security/dists/bullseye-security/InRelease Temporary failure resolving 'mirrors.aliyun.com'
W: Failed to fetch http://mirrors.aliyun.com/debian/dists/bullseye-updates/InRelease Temporary failure resolving 'mirrors.aliyun.com'
W: Failed to fetch http://mirrors.aliyun.com/debian/dists/bullseye-backports/InRelease Temporary failure resolving 'mirrors.aliyun.com'
  • 简单学习了下应该是Docker内的网络没有dns解析导致的方法为:
cd /etc/docker
vim daemon.json
# 添加内容
{
"dns": ["8.8.8.8", "114.114.114.114"]
}
# 重启一下docker即可
systemctl restart docker

docker build && docker save

  • 方法为:
docker build . -t redis-dump
docker save redis-dump |gzip > redis-dump.tar.gz

在公司内部进行使用.

  • 导入镜像以及进行简单使用
导出为 json 注意 集群模式 我不太明白怎么导出
docker run -it --net=host redis-dump redis-dump -u redis://10.110.82.137 -a Password >/deploy/redis-dump.json 注意可以根据帮助尽心进行处理:
Try: /usr/local/bin/redis-dump show-commands
Usage: /usr/local/bin/redis-dump [global options] COMMAND [command options]
-u, --uri=S Redis URI (e.g. redis://hostname[:port])
-d, --database=S Redis database (e.g. -d 15)
-a, --password=S Redis password (e.g. -a 'my@pass/word')
-s, --sleep=S Sleep for S seconds after dumping (for debugging)
-c, --count=S Chunk size (default: 10000)
-f, --filter=S Filter selected keys (passed directly to redis' KEYS command)
-b, --base64 Encode key values as base64 (useful for binary values)
-O, --without_optimizations Disable run time optimizations
-V, --version Display version
-D, --debug
--nosafe 导入到redis中来. cat /deploy/21.30.json | docker run -i --net=host redis-dump redis-load -n -d 15 -u redis://127.0.0.1:6379
注意 docker run 不能有t 不然会报错:
the input device is not a TTY

Redis-dump Docker搭建的快速指南的更多相关文章

  1. 在windows环境里,用Docker搭建Redis开发环境(新书第一个章节)

    大家都知道高并发分布式组件的重要性,而且如果要进大厂,这些技术不可或缺.但这些技术的学习难点在于,大多数项目里的分布式组件,都是搭建在Linux系统上,在自己的windows机器上很难搭建开发环境,如 ...

  2. docker搭建redis集群

    一.简介 docker作为一个容器技术,在搭建资源隔离性服务上具有很大的优势,在一台服务器上可以启动多个docker容器,感觉每个在容器里面部署的服务就像是部署在不同的服务器上.此次基于docker以 ...

  3. 基于Docker搭建Redis集群(主从集群)

    基于Docker搭建Redis集群(主从集群)   最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得一定是之前写的这篇 <基于Docker的Redis集群搭建> 文章 ...

  4. Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统

    一.系统的基本架构 在以前的博客中有介绍过在物理机上搭建ELK日志分析系统,有兴趣的朋友可以看一看-------------->>链接戳我<<.这篇博客将介绍如何使用Docke ...

  5. 【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南

    [SFA官方翻译]使用 Kubernetes.Spring Boot 2.0 和 Docker 的微服务快速指南 原创: Darren Luo SpringForAll社区 今天 原文链接:https ...

  6. Docker Swarm redis 集群搭建

    Docker Swarm redis 集群搭建 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docke ...

  7. 基于Docker的redis集群搭建

    Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html 基于Docker搭建Redis集群 环境:6个节点,三主三从 制作Redis镜 ...

  8. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  9. docker 实现redis集群搭建

    摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都想往docker方向做,今天就想来尝试下使用docker搭建redis集群. 首先,我们需要理论知识:Redis Cluster是Re ...

  10. Docker网络基础:快速指南

    Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认 ...

随机推荐

  1. 从架构设计理念到集群部署,全面认识KubeEdge

    摘要:本篇文章将从KubeEdge架构设计理念.KubeEdge代码目录概览.KubeEdge集群部署三方面带大家认识KubeEdge. KubeEdge即Kube+Edge,顾名思义就是依托K8s的 ...

  2. 个性化联邦学习算法框架发布,赋能AI药物研发

    摘要:近期,中科院上海药物所.上海科技大学联合华为云医疗智能体团队,在Science China Life Sciences 发表题为"Facing Small and Biased Dat ...

  3. 实践GoF的23的设计模式:SOLID原则(下)

    摘要:本文将讲述SOLID原则中的接口隔离原则和依赖倒置原则. ​本文分享自华为云社区<实践GoF的23的设计模式:SOLID原则(下)>,作者:元闰子. 在<实践GoF的23种设计 ...

  4. vue2升级vue3:Vue2/3插槽——vue3的jsx组件插槽slot怎么处理

    插槽的作用 让用户可以拓展组件,去更好地复用组件和对其做定制化处理. Vue 实现了一套内容分发的 API,将<slot>元素作为承载分发内容的出口,这是vue文档上的说明.具体来说,sl ...

  5. SpringBoot java 一个接口,多个实现,客户定制化

    产品定制化时,在不同的客户中会有不同的需求,这时候会产生,一个接口,多个实现 SpringBoot ,如果发现有多实现时,会报如下错误 Consider marking one of the bean ...

  6. Intellij idea 生成带注释的get/set

    自带的 Alt+ Insert 中的 Getter and  Setter 生成的属性,不能将 private 字段中的注释带过去,比较尴尬.可以通过两种试. 1. 修改模板:这种方法不能得到 pri ...

  7. Hugging News 年度特刊: Transformers & Gradio 年终大事件总结

    Transformers 年终大事件总结 对于 Transformers 来说,这是激动人心的一年.2022 年,我们的每周活跃用户数量增加了两倍,最近的一周用户超过 100 万,平均每日 pip 安 ...

  8. ajax补充说明 多对多三种创建方式 django内置序列化组件 ORM批量操作数据 分页器 form组件入门

    目录 ajax补充说明 request.is_ajax() ajax回调函数接收返回值 ajax回调函数 接受json数据 第一种方式:后端使用json模块 第二种方式:后端返回JsonRespons ...

  9. 面试官:分库分表后如何生成全局ID?

    分库分表后就不能使用自增 ID 来作为表的主键了,因为数据库自增 ID 只适用于单机环境,但如果是分布式环境,是将数据库进行分库.分表或数据库分片等操作时,那么数据库自增 ID 就会生成重复 ID,从 ...

  10. Python | __init__.py的神奇用法

    0._init_.py 在Python工程里,当python检测到一个目录下存在_init_.py文件时,python就会把它当成一个模块(module).Module跟C++的命名空间和Java的P ...