系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > Redis > 详细页面

centos6使用docker部署redis主从数据库操作示例

时间:2020-02-07来源:系统城作者:电脑系统城

本文实例讲述了centos6使用docker部署redis主从数据库操作。分享给大家供大家参考,具体如下:

目录结构:

/redis

    /Dockerfile

    /Readme

    /redis-3.2.8.tar.gz

    /start.sh

Dockerfile:


 
  1. FROM centos
  2. MAINTAINER qiongtao.li hnatao@126.com
  3. ADD ./redis-3.2.8.tar.gz /opt
  4. ADD ./start.sh /opt/start_redis.sh
  5. RUN echo "Asia/shanghai" > /etc/timezone \
  6. && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  7. && yum -y install gcc make \
  8. && ln -s /opt/redis-3.2.8 /opt/redis \
  9. && cd /opt/redis && make && make install
  10. EXPOSE 6379
  11. ENTRYPOINT ["sh", "/opt/start_redis.sh"]
  12.  

start.sh


 
  1. role=$1
  2. port=6379
  3. password=Abc123
  4. redis_conf=/opt/redis/redis.conf
  5. dir=/data/redis
  6. logfile=/data/redis/redis.log
  7. mkdir -p $dir
  8. sed -i "s|bind 127.0.0.1|bind 0.0.0.0|g" $redis_conf
  9. sed -i "s|# requirepass foobared|requirepass ${password}|g" $redis_conf
  10. sed -i "s|dir ./|dir ${dir}|g" $redis_conf
  11. sed -i "s|logfile \"\"|logfile ${logfile}|g" $redis_conf
  12. if [ "$role" == "slave" ]; then
  13. echo "slave"
  14. sed -i "s|# slaveof <masterip> <masterport>|slaveof redis-master ${port}|g" $redis_conf
  15. sed -i "s|# masterauth <master-password>|masterauth ${password}|g" $redis_conf
  16. else
  17. echo "master"
  18. fi
  19. redis-server $redis_conf
  20.  

Readme


 
  1. docker rm -f redis-master redis-slave-1 redis-slave-2
  2. docker rmi -f redis
  3. docker build -t redis .
  4. docker run -d --name redis-master redis
  5. docker run -d --name redis-slave-1 --link redis-master:redis-master redis slave
  6. docker run -d --name redis-slave-2 --link redis-master:redis-master redis slave
  7. docker ps -a
  8. docker exec redis-master redis-cli -a Abc123 set name hnatao
  9. docker exec redis-master redis-cli -a Abc123 get name
  10. docker exec redis-slave-1 redis-cli -a Abc123 get name
  11. docker exec redis-slave-2 redis-cli -a Abc123 get name
  12. docker exec redis-master grep -E "bind|dir|require|logfile|slaveof|masterauth"/opt/redis/redis.conf
  13. docker exec redis-slave-1 grep -E "bind|dir|require|logfile|slaveof|masterauth"/opt/redis/redis.conf
  14. docker exec redis-slave-2 grep -E "bind|dir|require|logfile|slaveof|masterauth"/opt/redis/redis.conf
  15. docker exec redis-master redis-cli -a Abc123 info
  16. docker exec redis-slave-1 redis-cli -a Abc123 info
  17. docker exec redis-slave-2 redis-cli -a Abc123 info
  18.  

测试安装部署


 
  1. cat Readme|while read line; do $line; done
  2.  

希望本文所述对大家Docker容器使用有所帮助。

分享到:

相关信息

  • redis实现session共享的方法

    引言大厂很多项目都是部署到多台服务器上,这些服务器在各个地区都存在,当我们访问服务时虽然执行的是同一个服务,但是可能是不同服务器运行的;在我学习项目时遇到这样一个登录情...

    2023-11-01

  • 简单聊一聊redis过期时间的问题

    1.多次修改一个redis的String过期键,如何保证他仍然能保留第一次设置时的删除时间 2.修改hash、set、Zset、list的值,会使过期时间重置吗?...

    2023-11-01

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载