基于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

 


五 持久化

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

posted @ 2019-01-28 23:01  zxMrlc  阅读(684)  评论(0编辑  收藏  举报