zoukankan      html  css  js  c++  java
  • 基于Dockerfile 构建redis5.0.0(包括持久化)及RedisDestopManager 监控

    一 创建Dockerfile

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

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

    二 构建镜像

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

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

    三  运行容器

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

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

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

    [root@zxmrlc redis]# docker ps -a
    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
    d072626e4b32        redis:v2019.1.28.6   "/bin/sh -c '/usr/..."   31 minutes ago      Up 3 seconds        0.0.0.0:6379->6379/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


    五 持久化

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

  • 相关阅读:
    DPDK安装方法 17.12.13
    numa.h:No such file or directory 解决方法
    17秋 软件工程 第六次作业 Beta冲刺 Scrum3
    17秋 软件工程 第六次作业 Beta冲刺 总结博客
    17秋 软件工程 第六次作业 Beta冲刺 Scrum2
    Paper Reviews and Presentations
    17秋 软件工程 第六次作业 Beta冲刺 Scrum1
    17秋 软件工程 第六次作业 Beta冲刺
    error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted
    17秋 软件工程 个人作业 软件产品案例分析
  • 原文地址:https://www.cnblogs.com/Geek-xiyang/p/10332163.html
Copyright © 2011-2022 走看看