1.准备下载好的redis安装包.yum源:

 

[root@test test9]# ll
总用量 1936
-rw-r--r-- 1 root root 396 9月 27 13:26 Dockerfile
-rw-r--r-- 1 root root 1975750 9月 18 09:14 redis-5.0.5.tar.gz             
drwxr-xr-x. 3 root root 59 9月 27 12:45 yum.repos.d


2.编写dockerfile:

 

[root@test test9]# vim Dockerfile

FROM centos:latest

 

MAINTAINER chen<121715041@qq.com>

 

########添加redis安装至容器目录######################

 

ADD redis-5.0.5.tar.gz /data/redis/

 

#######拷贝yum源###################################
COPY yum.repos.d /etc/yum.repos.d/

 

########定义WORKDIR###############################
WORKDIR /data/redis/redis-5.0.5/

 

#######安装工具gcc,make#############################
RUN yum install net-tools gcc make -y && \                               ##安装编译工具
make && make install && \
cp ./src/redis-server /bin/ && \
sed -i '/^bind/s/127.0.0.1/0.0.0.0/p' redis.conf                             ##修改此项,为此次做测试连接

 

#######暴露端口###################################
EXPOSE 6379                                                                           ##根据业务需求,可以不暴露,我这里做测试

 

#######启动服务###################################
ENTRYPOINT ["redis-server","redis.conf"]


 

3.构建dockerfile:

[root@test test9]# docker build -t redis:v6 ./

................................

Step 8/8 : ENTRYPOINT ["redis-server","redis.conf"]
---> Running in 50d198ffdcd4
Removing intermediate container 50d198ffdcd4
---> ec16314e4085
Successfully built ec16314e4085
Successfully tagged redis:v6             


 

4.启动构建好的镜像:

[root@test test9]# docker run --name redis -itd -P --rm redis:v6
499c3170a33c622546679b71517ef0e387f02b3c52507b03bd58c973df47e400

 

5.查看端口:

[root@test test9]# docker port redis
6379/tcp -> 0.0.0.0:32772

[root@test test9]# netstat -tanp |grep 32772
tcp6 0 0 :::32772 :::* LISTEN 113303/docker-proxy

 

6.本机测试连接至容器redis:

[root@test test9]# redis-cli -h 192.168.100.64 -p 32772
192.168.100.64:32772> keys *
(empty list or set)
192.168.100.64:32772> set a 1
OK
192.168.100.64:32772> get a
"1"
192.168.100.64:32772> exit

 

 

以上dockerfile构建完成!