一 创建Dockerfile

[root@zxmrlc docker]# mkdir redis
[root@zxmrlc docker]# cd redis && touch Dockerfile
 #version: 2019-1-28
FROM centos:7.5.1804
MAINTAINER zxMrlc
#前置GCC编译环境
RUN ["yum","-y","update"]
RUN ["yum","-y","install","gcc"]
# 应该采用类似数组的方式进行传递命令 非数组形式 会在命令前 /bin/sh -c 运行,会出现很多问题。因为sh简化版,跑脚本会出现很多莫名其妙的error ,因为是测试 就先简化写了。 # 玄学前置 ubuntu 不需要 centos 需要
RUN yum install -y epel-release
#redis 安装 固定版本5.0.0 为例子
RUN yum install -y gcc
RUN yum install -y wget
RUN yum clean all
RUN wget download.redis.io/releases/redis-5.0.0.tar.gz
#也可以先下载在宿主机上然后ADD ADD的时候会自动解压
#挂载后进行解压也是可以的
RUN tar -zxvf redis-5.0.0.tar.gz -C /usr/local/ && rm -f redis-5.0.0.tar.gz
RUN yum install -y make
RUN cd /usr/local/redis-5.0.0/ && make MALLOC=libc
##########修改配置开启远程连接,关闭保护模式##########
##########不应该开启后台进程运行模式,用后台启动会导致容器退出##########
RUN sed -i -e 's@bind 127.0.0.1@bind 0.0.0.0@g' /usr/local/redis-5.0.0/redis.conf \
&& sed -i -e 's@protected-mode yes@protected-mode no@g' /usr/local/redis-5.0.0/redis.conf
#&& sed -i -e 's@daemonize no@daemonize yes@g' /usr/local/redis-5.0.0/redis.conf
##########设置密码##########
#RUN echo "requirepass test" >> /usr/local/redis-5.0.0/redis.conf
EXPOSE 6379 ENTRYPOINT /usr/local/redis-5.0.0/src/redis-server /usr/local/redis-5.0.0/redis.conf
#CMD []

25行的配置一定不要打开,虽然平常在本机运行时都是通过后台运行。但是在容器中单独运行后台程序,终端没有内容会直接结束容器。

二 构建镜像

[root@zxmrlc redis]# docker build -t redis:v2019.1.28. $PWD

简单的话写.更好。怕看不清更换成$PWD

三  运行容器

指定端口映射,前面已经设定6379自动映射,这里直接给定端口范围 即可 ,restart 应该设置为always

[root@zxmrlc redis]# docker run -d --name=redis -p6379: redis:v2019.1.28.

还是映射到主机上的6379了 查看一下

[root@zxmrlc redis]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d072626e4b32 redis:v2019.1.28. "/bin/sh -c '/usr/..." minutes ago Up seconds 0.0.0.0:->/tcp redis

端口列0.0.0.0:6379->6379/tcp 是ok的 如果只有6379/tcp就是失败的

四  监控redis

由于版本5.0.0比较新,所以下载教新的RedisDestopManager  放个链接 官网下载要订阅,github有源码编译很麻烦。。

链接:https://pan.baidu.com/s/13mk2UuC_zIz75T9UWunvkA
提取码:7xoq

五 持久化

持久化的解决方案就很简单了 在配置文件里修改开启持久化,并且将目录挂载在宿主机即可

基于Dockerfile 构建redis5.0.0(包括持久化)及RedisDestopManager 监控的更多相关文章

  1. docker 基于Dockerfile构建redis

    创建Dockerfile 文件 新建目录 mkdir /var/docker/redis -pcd /var/docker/redis 新建 Dockerfile FROM centos:7.5.18 ...

  2. 基于PHP构建OAuth 2.0 服务端 认证平台

    OAuth2.0 认证服务 安装 你可以在github上下载OAuth Server PHP,也可以用下列命令下载,不过内容都是一样的 mkdir my-oauth2-walkthrough cd m ...

  3. 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

    Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...

  4. 基于.NetCore的Redis5.0.3(最新版)快速入门、源码解析、集群搭建与SDK使用【原创】

    1.[基础]redis能带给我们什么福利 Redis(Remote Dictionary Server)官网:https://redis.io/ Redis命令:https://redis.io/co ...

  5. 基于@vue/cli 的构建项目(3.0)

    1.检测node的版本号 注意:1.Vue CLI需要Node.js的版本 8.9+(推荐8.11.0+) 所以在安装Vue CLI之前先看下node的版本 node -v 2.安装@vue/cli ...

  6. 利用Dockerfile构建一个基于CentOS 7镜像

    利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...

  7. redis5.0.0功能介绍以及主从集群、哨兵搭建

    这两天突然想起redis,索性就再尝试一下搭建最新版本的redis,过程有点艰辛呀,记录一下,供自己和大家今后搭建做参考. 一.为什么用Redis? 我自己总结了一下: 1.基于内存实现的key-va ...

  8. 基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构

    基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生 ...

  9. PoiDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用Poi实现android中根据模板文件生成Word文档的功能.这里的模板文件是doc文件.如果模板文件是docx文件的话,请阅读 ...

随机推荐

  1. Linux vim常用选项

    Vim命令 三种模式 Command Mode 命令模式 Insert Mode 插入模式 Last LineMode 底行模式 底行模式常用命令 :w 保存 :q 退出 :! + 命令 :! ls ...

  2. 2018牛客多校第九场E(动态规划,思维,取模)

    #include<bits/stdc++.h>using namespace std;const long long mod=1000000007,inv=570000004;long l ...

  3. 2010辽宁省赛F(字典树,动态规划)

    #include<bits/stdc++.h>using namespace std;int n,x;char s[10010];char a[31010];int val[100010] ...

  4. GoWeb开发_Iris框架讲解(三):路由功能处理方式

    Context概念 Context是iris框架中的一个路由上下文对象,在iris框架中的源码路径定义为:{$goPath}\github.com\kataras\iris\context\conte ...

  5. Spark Task 概述

    Task的执行流程: 1. Driver端中的 CoarseGrainSchedulerBackend 给 CoarseGrainExecutorBacken 发送 LaunchTask 消息 2. ...

  6. DMZ主机

    DMZ称为"隔离区",也称"非军事化区".为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区.这个缓冲区位于 ...

  7. Java 引用类型

    若内存中一个对象没有任何引用的话,则可以认为该对象已经不再使用了,可以成为GC的候选.不过由于垃圾回收器的运行时间不确定,可被垃圾回收的对象的实际被回收时间是不确定的.对于一个对象来说,只要有引用的存 ...

  8. 【Kafka】《Kafka权威指南》入门

    发布与订阅消息系统 在正式讨论Apache Kafka (以下简称Kafka)之前,先来了解发布与订阅消息系统的概念, 并认识这个系统的重要性.数据(消息)的发送者(发布者)不会直接把消息发送给接收 ...

  9. 关于苹果出现NaN的情况----由Date格式解析方式不同引起的Bug

    源于一个工作中遇到的问题:IOS 上时间显示为 NaN,而安卓上时间显示正常. 问题的根源在于 安卓 和 苹果 对于 JS Date 对象的不同解析. 安卓: new Date("2018- ...

  10. BZOJ4552(二分+线段树)

    要点 序列是n个不同的数,则新学到的一种策略就是二分这个位置的答案,然后可以上下调. 神奇地只关注大于还是小于mid并赋值0.1,这样m个操作的排序就能用线段树维护了! #include <cs ...