Docker 一键安装 Redis

本贴最后更新于 1204 天前,其中的信息可能已经事过境迁

记录下 Docker 安装 redis 的快捷命令!!!

docker run --restart=always -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf  

命令说明:

  1. --restart=alaways 开启自启动
  2. -p 6379:6379 将主机的 6379 端口和容器的 6379 进行绑定映射
  3. --name redis 将容器命名为 redis
  4. -v /home/redis/redis.conf:/etc/redis/redis.conf 将物理机上面/home/redis/redis.conf 文件映射到容器内部/etc/redis/redis.conf
  5. -v /home/redis/data:/data 将物理机上的/home/redis/data 文件夹映射到容器内部/data 文件夹 用于保存数据
  6. -d redis 表示后台启动 redis 镜像(如果本地没有 redis 镜像就从 docker 仓库里面拉取)
  7. redis-server /etc/redis/redis.conf 表示启动 redis 的时候以配置文件启动,由于上面将物理机上面/home/redis/redis.conf 文件映射到容器内部/etc/redis/redis.conf 所以最终找到的是物理机上的/home/redis/redis.conf

如何获取 redis.conf 配置文件?

直接上官方网址,下载 redis,然后拷贝里面的 redis.conf 文件即可

如何进入容器内部并且使用客户端链接上 redis

物理机上输入 docker exec -it redis redis-cli 即可!!!

安装完毕后,如何修改配置文件并生效?

直接修改上面的/home/redis/redis.conf 文件的内容,然后重启容器即可 docker restart redis

开启远程访问,AOF 持久化以及设置密码

修改配置文件里面的内容
#bind 127.0.0.1 注释掉 就可以开启远程访问
appendonly yes yes 表示开启 AOF 持久化 no 表示关闭 (默认是开启的 RDB,如果要关闭 RDB 注释掉 save 开头的配置)
appendfilename "appendonly.aof" 持久化文件的名称 持久化后会在/data 目录创建一个持久化文件
requirepass password 设置密码为 password

redis 常用参数说明

#是否作为守护进程运行 yes 或者 no
daemonize yes
#监听 IP,redis 一般监听 127.0.0.1 网段访问,集群模式需要指定 IP 地址。如果需要外网访问需要注释
bind 192.168.1.115
#指定存储 Redis 进程号的文件路径
pidfile/var/run/redis.pid
#端口
port 6379
#TCP 监听的最大容纳数量
tcp-backlog 511
#客户端和 Redis 服务端的连接超时时间,默认是 0,表示永不超时。
timeout 0
#tcp 心跳时间
tcp-keepalive 0
#日志记录等级,4 个可选值 debug,verbose,notice,warning
loglevel notice
#配置 log 文件地址,默认打印在命令行终端的窗口上,也可设为/dev/null 屏蔽日志、
ogfile"/opt/redis/logs/redis-6379.log"
#可用的数据库数,默认值为 16,默认数据库为 0
databases 16
#RDB 保存策略,900 秒存在一个 Key 变动或者 300 秒 10 个 key 或者 60 秒 1000000 变动就保存一次
save 900 1
save 300 10
save 60 10000000
#redis 保存失败后,redis 将停止接受写操作,
stop-writes-on-bgsave-error yes
#在进行备份时,是否进行压缩
rdbcompression yes
#读取和写入的时候是否支持 CRC64 校验,默认是开启的
rdbchecksum yes
#备份文件的文件名
dbfilename dump.rdb
备份文件地址
dir ./
内存淘汰策略 默认为 noeviction ,即没有淘汰策略,直接返回错误给客户端
maxmemory-policy noeviction
#volatile-lru :利用 lru 算法淘汰设置过过期时间的 key
#allkeys-lru :利用 lru 算法淘汰所有的 key
#olatile-random :随机的淘汰设置过过期时间的 key
#allkeys-random :随机的淘汰所有的 keyvolatile-ttl :淘汰即将到达过期时间的 key
#noeviction :没有淘汰算法
#AOF 持久化开启 默认为 no
appendonly no
#文件名称
appendfilename"appendonly.aof"
#设置对 appendonly.aof 文件进行同步的频率,有三种选择 always、everysec、no,默认是 everysec 表示每秒同步一次。
appendfsync everysec
#一个 Lua 脚本最长的执行时间,单位为毫秒,如果为 0 或负数表示无限执行时间,默认为 5000
lua-time-limit 5000
设置 redis 访问密码 默认无需密码
requirepass password 设置密码为 password

  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 61 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    491 引用 • 917 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...