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