Docker:使用自定义redis.conf运行redis容器(7)
演示环境:win7+docker toolbox
1、自定义配置文件
首先在Windows环境下准备好配置文件redis

然后打开Quickstart终端输入命令:
cp -rf ~/Desktop/redis/ /usr/local/
这一步是把我们准备好的配置文件夹拷贝到 virtualbox的Linux里;如果是单个文件可以使用命令:cp -r 路径/文件 路径/文件;
6379的配置就是官方配置文件;6380和6381的配置文件是加了一行:slaveof
关于配置文件有几点注意的:
1、后台运行;使用no;
2、日志配置;使用空字符串;
2、运行redis容器:
docker run -v /usr/local/redis/redis-6379/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis redis-server /usr/local/etc/redis/redis.conf
docker run -v /usr/local/redis/redis-6380/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6380 -p 6380:6379 -d hub.c.163.com/library/redis redis-server /usr/local/etc/redis/redis.conf
docker run -v /usr/local/redis/redis-6381/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis redis-server /usr/local/etc/redis/redis.conf
查了资料说:/usr/local/etc/redis/redis.conf 这个路径是redis官方镜像的Dockfile里面的,所以这里固定使用这个路径;另外一种方法是修改Dockerfile
3、Win7环境下的问题解决
win7环境下验证了一下,发现slaveof没有生效!网上也没找到资料,然后问了一下stackoverflow的大神们,他们无私的指导下
原因是环境问题:win7+Docker Quickstart Terminal;在终端里挂载我们自己的配置的时候,我们使用cp把配置拷贝到了,但是这个是无效的,必须直接挂载我们win7里的配置文件才可以生效!而上面2是正式的生产环境Linux的正确命令;win7终端的正确命令应该是:
docker run -v ~/Desktop/redis/redis-6381/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis redis-server /usr/local/etc/redis/redis.conf
其他
1、查看日志
docker logs --tail=10 redis-6380
docker logs -f -t --since="2017-05-31" --tail=10 name
--since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
-f : 查看实时日志
-t : 查看日志产生的日期
-tail=10 : 查看最后的10条日志。
name : 容器名称
2、直接命令
docker run -v /usr/local/redis/redis-6381/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis redis-server /usr/local/etc/redis/redis.conf slaveof 172.17.0.2 6379
文档:
https://hub.docker.com/_/redis/
Docker:使用自定义redis.conf运行redis容器(7)的更多相关文章
- 4、解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制
1.Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 对大小写不敏感 2.INCLUDES包含 和我们的Struts2配置文件类似,可以通过includes包 ...
- Docker:redis容器使用redis.conf启动失败,不报错
查看redis.conf配置信息 daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.co ...
- Docker 安装并运行 Redis
说明 在Windows下运行Redis主要有以下几种方式: 使用微软官方构建的Windows版Redis,最新版本是3.0.504,发布于2016-07-01.https://github.com/m ...
- docker学习-lnmp+redis之搭建redis容器服务
1. 目录映射:/lnmp/data/redis:/data/lnmp/conf/redis/redis.conf:/etc/redis/redis.conf/lnmp/logs/redis:/var ...
- docker使用redis.conf配置文件方式启动redis无反应无日志
如题,场景重现:因为配置多了,不想通过参数来启动docker容器中的redis,特意上github找了对应版本的redis.conf,修改了相关配置,只让本机使用: 上传到/mydata/redis/ ...
- 手写redis的docker文件,通过docker-compose配置redis
在前面一遍随笔,配置的是mysql主从的docker-compose配置.今天我们来学习配置编排容器redis. 准备环境: docker 18.06.1-ce docker-compose 1.23 ...
- docker 构建带健康检查的redis镜像
=============================================== 2018/11/5_第1次修改 ccb_warlock == ...
- windows Docker Desktop 搭建mysql,mssql和redis服务
其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...
- 【docker】【redis】1.docker安装redis【单点redis服务】
1.首先确定 需要在docker上拉取redis的哪个版本的镜像 [由于使用了aliyun的源,并且加速器也是用的阿里云的加速器,所以直接在阿里云开发者平台上找redis的镜像有哪些版本是再好不过了, ...
随机推荐
- windows上RSA密钥生成和使用
一,下载安装windows平台openssl密钥生成工具,执行安装目录bin下的"openssl.exe",执行后弹出命令窗口如下 运行 二,生成私钥 输入"genrsa ...
- Canvas组件:画布,可以实现动画操作。
Module 10 Canvas组件:画布,可以实现动画操作. TextArea:文本域. 在单行文本域中回车会激发ActionEvent. 用CheckBoxGroup实现单选框功能. Java中 ...
- sbt spark2.3.1 idea打包Caused by: java.lang.ClassNotFoundException: scala.Product$class
今天同事在服务区上面装的是最新版本的hadoop3.10和spark2.3.1,因为用scala开发, 所以我想用sbt进行开发.过程中遇到各种坑,刚开始用的jdk10,结果也报错,后来改成jdk1. ...
- 解决ubuntu下音乐播放器Rhythmbox乱码问题
两种解决方法 第一种是修改用户的环境变量 1.先打开主文件夹 cd /home/user #user是你的用户名然后编辑用户环境 2.sudo gedit .profile在打开的文件中添加: exp ...
- DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧,改进版
pysnooper是代码debug神器,比无限low print好很多和也比日志debug好一些,比断点调试也好一些,这个很犀利的装饰器. https://www.toutiao.com/a66829 ...
- [hive] hive 内部表和外部表
1.内部表 hive (test1)> create table com_inner_person(id int,name string,age int,ctime timestamp) row ...
- Kafka consumer poll(long)与poll(Duration)的区别
最近在StackOverflow碰到的一个问题,即在consumer.poll之后assignment()返回为空的问题,如下面这段代码所示: consumer.subscribe(Arrays.as ...
- appium定位h5
1.手机安装Chrome浏览器 2.开启USB调试模式,并使用安装的Chrome浏览器打开待测H5页面 3.在电脑端的Chrome浏览器输入chrome://inspect ...
- javascript--面试题
(1)javaScript怎么清空数组? 如 var arrayList = ['a','b','c','d','e','f']; 怎么清空 arrayList 方法1:直接改变arrayList所指 ...
- linux的基本操作(文件压缩与打包)
文件的压缩与打包 在windows下我们接触最多的压缩文件就是.rar格式的了.但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具.但有一种文件在windows和linux下都能使用那就 ...