一 创建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. CodeForces 116B【二分匹配】

    思路: 暴力..我不会呀.. YY一个二分匹配嘛,然后数组开小了.GG for an hour. #include <bits/stdc++.h> using namespace std; ...

  2. 图解linux安装hadoop

    安装步骤: 一.准备工作 1.解压文件 [root@localhost soft]# tar -zxvf hadoop-2.4.1.tar.gz 2.改名: [root@localhost soft] ...

  3. JAVA之反射(一)

    反射(一) ** 注:博主的这篇文章是在学习反射的时间写的如有问题请及时联系博主进行修改 ** 何为反射  这里也不说一些很官方的语言了,官方的说明看着头痛,总之一句话,就是在JAVA的运行状态的时候 ...

  4. 死磕 java同步系列之synchronized解析

    问题 (1)synchronized的特性? (2)synchronized的实现原理? (3)synchronized是否可重入? (4)synchronized是否是公平锁? (5)synchro ...

  5. Leetcode初级算法(排序和搜索+数学篇)

    合并两个有序数组 开始的时候将这道题理解错了,发现几个奇怪的测试案例后才明白这道题什么意思.本来的想法就是把nums2全部放到num1里面,然后删除重复元素.排序一下,就有了下面的代码: class ...

  6. tomcat的webapps下放置多个项目时会出现很多exception

    今天干了一件比较逗比的事,在tomcat的项目目录wepapps下又新建了一个文件夹backup,然后在backup下放置了之前项目的war包...然后启动tomcat的时候各种exception 大 ...

  7. 二进制读取 jdbc

    package com.itheima.clob.test; import java.io.FileInputStream; import java.io.FileOutputStream; impo ...

  8. awk 分解行、字段

    1. 格式 格式: awk 'pattern {action} pattern {action}' filename 注:多个文件时,读取从左到右,读完第一个再读取第二个 pattern 1-/正则表 ...

  9. 《zabbix监控的搭建》centos5.8 32

    系统环境centos5.8 32位操作系统   这里以zabbix-2.2.7为例: 下载官方的软件包: http://pan.baidu.com/s/1ntuTRYh 官方的参考文档: https: ...

  10. 方法和函数,isinstance/issubclass/type以及反射

    一丶,isinstance/issubclass/type 1.issubclass检查第一个参数是否是第二个参数的 子子孙孙类 class Foo(): pass class Boo(Foo): p ...