一、先创建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 +++++++++++++++++++++