Centos7_Docker_09_dockerfile构建 redis 5.05 镜像

一、先创建redis 的 Dockerfile目录
mkdir -pv /docker/redis
二、一键安装redis脚本
cd /docker/redis
2.1、准备好redis安装脚本
vim redis_install.sh
+++++++++++++++++++++++++ redis_install.sh +++++++++++++++++++++++

#!/bin/bash
yum install gcc gcc-c++ vim make openssl openssl-devel cmake net-tools wget tar -y
cd /opt/
wget 'http://download.redis.io/releases/redis-5.0.5.tar.gz'
tar zxvf redis-5.0.5.tar.gz
cd redis-5.0.5/
make
make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf
++++++++++++++++++++++++++++++++++++++++++++++
redis 配置文件:
cd /docker/redis
vim redis.conf
bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile "/tmp/redis.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /tmp/
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

2.2、准备一个yum源文件(国内用163的yum源会更快一些) 在/docker/redis/ 这个目录下面
vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
++++++++++++++++++++++++++++++++++++++++++++++++++
2.3、创建Dockerfile 文件:在/docker/redis/ 这个目录下面

vim /docker/tomcat/Dockerfile
FROM centos7
MAINTAINER xc 331758730@qq.com
COPY redis_install.sh /tmp/redis_install.sh
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
RUN sh /tmp/redis_install.sh; \rm -rf /opt/*
COPY redis.conf /usr/local/redis/conf/redis.conf
RUN mkdir -p /opt/app-root/etc/; \echo "unset BASH_ENV PROMPT_COMMAND ENV" >>/opt/app-root/etc/scl_enable
+++++++++++++++++++++++++++++++++++++++++++

/docker/redis 里面,应该有如下文件。



三、使用Dockerfile构建redis镜像
cd /docker/redis
docker build -t dfsc_redis .






四、测试创建的redis镜像是否正常

docker run -d dfsc_redis /bin/bash -c '/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf' 进入到dfsc_redis 的/bin/bash
docker exec -it 6a6b133df786 /bin/bash





++++++++++++++++++++++++++ END +++++++++++++++++++++