演示环境: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)的更多相关文章

  1. 4、解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制

    1.Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 对大小写不敏感 2.INCLUDES包含 和我们的Struts2配置文件类似,可以通过includes包 ...

  2. Docker:redis容器使用redis.conf启动失败,不报错

    查看redis.conf配置信息 daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.co ...

  3. Docker 安装并运行 Redis

    说明 在Windows下运行Redis主要有以下几种方式: 使用微软官方构建的Windows版Redis,最新版本是3.0.504,发布于2016-07-01.https://github.com/m ...

  4. docker学习-lnmp+redis之搭建redis容器服务

    1. 目录映射:/lnmp/data/redis:/data/lnmp/conf/redis/redis.conf:/etc/redis/redis.conf/lnmp/logs/redis:/var ...

  5. docker使用redis.conf配置文件方式启动redis无反应无日志

    如题,场景重现:因为配置多了,不想通过参数来启动docker容器中的redis,特意上github找了对应版本的redis.conf,修改了相关配置,只让本机使用: 上传到/mydata/redis/ ...

  6. 手写redis的docker文件,通过docker-compose配置redis

    在前面一遍随笔,配置的是mysql主从的docker-compose配置.今天我们来学习配置编排容器redis. 准备环境: docker 18.06.1-ce docker-compose 1.23 ...

  7. docker 构建带健康检查的redis镜像

    =============================================== 2018/11/5_第1次修改                       ccb_warlock == ...

  8. windows Docker Desktop 搭建mysql,mssql和redis服务

    其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...

  9. 【docker】【redis】1.docker安装redis【单点redis服务】

    1.首先确定 需要在docker上拉取redis的哪个版本的镜像 [由于使用了aliyun的源,并且加速器也是用的阿里云的加速器,所以直接在阿里云开发者平台上找redis的镜像有哪些版本是再好不过了, ...

随机推荐

  1. js判断移动端是否安装某软软件,安装直接打开相应的链接,否则跳转到下载商店方法

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. 怎样通过 DLNA 将电脑上的媒体投射到智能电视上

    DLNA 是一种网络设备间共享媒体的解决方案.从 Windows 7 开始就支持 DLNA,现在一些国产智能电视也已经支持 DLNA 了,这就为我们在电脑和电视之间方便地共享多媒体提供了条件. 工具/ ...

  3. Netty 学习笔记(1)通信原理

    前言 本文主要从 select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始.   Netty 的通信原理 Netty 底层 ...

  4. Python类和实例方法和属性的动态绑定

    python中实例创建后可以给实例绑定任何属性和方法 class Student(object): pass 给实例绑定一个属性: s=Student() s.name='Michel' print ...

  5. macOS Sierra(10.12.6), odoo(11.0), Python(3.5.4)配置

    欣闻odoo11支持python3环境了,赶紧在mac平台尝试一下: 前期设置,参考另篇文章:macOS Sierra 10.12.6 odoo 10.0 开发环境配置 因为odoo11尚未正式发布, ...

  6. JavaScript 运行机制详解:Event Loop

    参考地址:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是 ...

  7. Cookiecutter: 更好的项目模板工具:(3)高级用法

    本文中的Hook就是钩子,钩子就是Hook 使用生成前/生成后钩子脚本 你可以在项目生成之前和/或之后运行Python或Shell脚本. 像这样把它们放进Hook里: cookiecutter-som ...

  8. fidder(介绍)

    处处用到网络抓包 “君子生非异也,善假于物也”,要做好测试很多时候光靠自己是远远不够的,还要会利用测试工具协助测试,这样才能事半功倍. 测试工具多种多样,会在本系列中一一介绍,今天着重介绍网络抓包工具 ...

  9. java课程课后作业04之动手动脑

    一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...

  10. JBPM工作流(三)——ProcessEngine与Service API

    1.获取processEngine的方法: a) 方法一 private ProcessEngine processEngine = new Configuration().setResource(& ...