Docker-实战系列之Dockerfile构建redis镜像


一、本地搭建redis环境

1、编写shell脚本redis_install.sh

#!/bin/bash
yum install -y gcc gcc-c++ make openssl openssl-devel
cd /usr/local/redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /usr/local/redis-4.0.9/redis.conf /usr/local/redis/conf/
sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf

 

(注意:

sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf 
sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf

这两行的意思是修改/usr/local/redis/conf/redis.conf 文件,为了宿主机可以监听容器的端口

 

2、编译安装shell脚本redis_install.sh

sh /home/redis_install.sh 
 
3、启动redis服务
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

 

 

4、连接redis
/usr/local/redis/bin/redis-cli

 

 

二、Dockerfifile构建redis镜像 

  • 编写redis编译安装shell脚本redis_install.sh 
    #!/bin/bash
    yum install -y gcc gcc-c++ make openssl openssl-devel
    cd /home/redis-4.0.9
    make && make PREFIX=/usr/local/redis install
    mkdir -p /usr/local/redis/conf/
    cp /home/redis-4.0.9/redis.conf /usr/local/redis/conf/
    sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
    sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf 
 

(注意:

sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf 
sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf

这两行的意思是修改/usr/local/redis/conf/redis.conf 文件,为了宿主机可以监听容器的端口

  • 编写Dockerfifile 
    FROM centos:7
    ADD redis-4.0.9.tar.gz /home
    COPY redis_install.sh /home
    RUN sh /home/redis_install.sh
    ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf 
 
  • 制作Nginx镜像:
    docker build -t mycentos:redis .
 
  • 测试redis:
    启动容器:docker run -itd mycentos:redis 
    进入容器:docker exec -it 9b402baeaba7 /bin/bash
    容器连接redis: /usr/local/redis/bin/redis-cli 
 
    启动容器(宿主机连接容器的redis):docker run -itd -p 6380:6379 mycentos:redis  #6380是宿主机端口,6379是容器的端口
    宿主机连接redis:
    【方法一:】
    /usr/local/redis/bin/redis-cli -p 6380
    验证:[root@localhost home]# /usr/local/redis/bin/redis-cli -p 6380
       127.0.0.1:6380> set name xdclass
       OK
       127.0.0.1:6380> get name
       "xdclass"
       127.0.0.1:6380> 
    【 方法二:】

    找到容器ip地址:docker inspect  9b402baeaba7

    连接redis:/usr/local/redis/bin/redis-cli -h 172.17.0.2 -p 6379

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM