欢迎访问本站,祝大家玩得愉快。

Docker使用Redis数据库

Docker kany.wang 92℃ 0评论

背景介绍

配置完成了数据库之后,我们需要配置一个Redis。这里只是演示主从和哨兵,集群的查看参考资料。

  • OS:Ubuntu Server 16.04.1 LTS 64位
  • Docker:19.03.1
  • Redis:5.0.5

创建数据卷

Docker运行的只是容器,数据才是我们最重要的文件。所以创建下列目录

mkdir -p /data/redis/{6379,6380,sentinel}/{conf,data}

创建配置文件

Master(6379):

logfile "redis.log"
port 6379
dir /data
appendonly yes
appendfilename appendonly.aof
requirepass 1234

Saveof(6380)

logfile "redis.log"
port 6379
dir /data
appendonly yes
appendfilename appendonly.aof
replicaof 192.168.0.1 6389
masterauth 1234
requirepass 1234

Sentinel(26379):

logfile "sentinel.log"
sentinel monitor mymaster 192.168.0.1 6379 1
sentinel auth-pass mymaster 1234
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

上面的文件是关键点,不是只有这么多,如需要了解,请查看Redis学习笔记----Redis5.0.5配置文件详解,或者自行查阅资料对Redis的配置有个详细的了解
IP的查看使用docker inspect 容器ID 进行查看

启动命令

docker run --name redis-master-6379 -p 6379:6379 -v /data/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /data/redis/6379/data:/data -d redis:latest redis-server /usr/local/etc/redis/redis.conf
docker run --name redis-saveof-6380 -p 6380:6379 -v /data/redis/6380/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /data/redis/6380/data:/data -d redis:latest redis-server /usr/local/etc/redis/redis.conf
docker run --name redis-sentinel-26379 -p 26379:26379 -v /data/redis/sentinel/conf/sentinel.conf:/usr/local/etc/redis/sentinel.conf -v /data/redis/sentinel/data:/data -d redis:latest redis-sentinel /usr/local/etc/redis/sentinel.conf

还有一种方式,使用docker-compose:

docker-compose.yml

version: '3'
services:
  master:
    image: redis
    container_name: redis-master
    ports:
      - 6379:6379
    command: redis-server /usr/local/etc/redis/redis.conf
    volumes:
      - ./redis-master.conf:/usr/local/etc/redis/redis.conf

  slave1:
    image: redis
    container_name: redis-slave-6380
    ports:
      - 6380:6379
    command: redis-server /usr/local/etc/redis/redis.conf
    volumes:
      - ./redis-slave.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/6379/data:/data

  sentinel1:
    image: redis
    container_name: redis-sentinel-26379
    ports:
      - 26379:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel.conf:/usr/local/etc/redis/sentinel.conf
      - /data/redis/sentinel/data:/data

这个配置请参考docke实战篇(五)--docker-compose搭建redis哨兵集群

# -d 表示后台运行,就是守护态运行
docker-compose up -d

至于哨兵是不是真的启用了,目前不知道我找个时间验证之后再补充。目前的主要目的就是安装和配置完成。

参考资料

联系方式

  • 小伙伴群:J2EE技术交流

打赏

转载请注明:懒人屋 » Docker使用Redis数据库

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址