Docker安装Redis

拉取 Redis 镜像

docker search redis

 拉取 Redis

docker pull redis

查看拉取结果

docker images -a

创建REDIS容器

查看redis镜像详情

docker inspect redis

找到redis版本

docker inspect redis --format='{{json .Config.Env}}'
#查看 REDIS_VERSION

REDIS_VERSION: 

["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.16","REDIS_VERSION=7.2.2","REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-7.2.2.tar.gz","REDIS_DOWNLOAD_SHA=ca999be08800edc6d265379c4c7aafad92f0ee400692e4e2d69829ab4b4c3d08"]

创建redis配置文件

官网下载配置文件

如果:raw.githubusercontent.com无法访问可修改hosts文件

创建目录结构如下:

官网下载文件写入redis配置文件,cat命令查看文件内容:

修改配置文件

部份配置参数说明:

bind 127.0.0.1         #redis绑定ip
protected-mode no      #默认yes,开启保护模式,限制为本地访问
daemonize no           #默认no
databases 16           #数据库个数(可选)
requirepass 123        #密码
dir /data/             #输入本地redis数据库存放文件夹(可选)
appendonly yes         #redis持久化 默认 no(可选)

创建容器

docker run -it \
--name redis \
--privileged \
-p 6379:6379 \
-v ~/data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v ~/data/redis/data/:/data \
-v ~/data/redis/log/redis.log:/var/log/redis.log \
-d redis \
/usr/local/etc/redis/redis.conf


#启动命令参数解释
…
–name redis # 别名
-p 6379:6379 # 宿主机和容器端口映射
–privileged=true # 挂载容器卷目录权限
-v ~/data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf #[宿主机配置文件]:[容器配置文件]
-v ~/data/redis/data/:/data #[宿主机数据存储位置]:[容器数据存储位置]
-v ~/data/redis/log/redis.log:/var/log/redis.log #[宿主机日志存储位置]:[容器日志存储位置]
-d redis #后台运行指定容器,并返回容器ID
/usr/local/etc/redis/redis.conf #绝对路径指定redis-server 以指定配置文件启动redis服
…

设置docker启动时启动redis

docker update redis --restart=always
查看自启动状态
 docker inspect redis --format='{{json .HostConfig.RestartPolicy}}'

进入redis 

docker exec -it redis /bin/bash

连接redis

redis-cli -a 123456

命令格式:

redis-cli [OPTIONS] [cmd [arg [arg ...]]] 

   -h <hostname>      Server hostname (default: 127.0.0.1). ip地址
  -p <port>          Server port (default: 6379). 服务器端口号
  -s <socket>        Server socket (overrides hostname and port).
  -a <password>      Password to use when connecting to the server. 密码
  -u <uri>           Server URI. url格式的地址
  -r <repeat>        Execute specified command N times.
  -i <interval>      When -r is used, waits <interval> seconds per command.
                     It is possible to specify sub-second times like -i 0.1.
  -n <db>            Database number. 指定数据库
  -x                 Read last argument from STDIN.
  -d <delimiter>     Multi-bulk delimiter in for raw formatting (default: \n).
  -c                 Enable cluster mode (follow -ASK and -MOVED redirections).
  --raw              Use raw formatting for replies (default when STDOUT is
                     not a tty).
  --no-raw           Force formatted output even when STDOUT is not a tty.
  --csv              Output in CSV format.
  --stat             Print rolling stats about server: mem, clients, ... 统计数据 连续输出
  --latency          Enter a special mode continuously sampling latency.
                     If you use this mode in an interactive session it runs
                     forever displaying real-time stats. Otherwise if --raw or
                     --csv is specified, or if you redirect the output to a non
                     TTY, it samples the latency for 1 second (you can use
                     -i to change the interval), then produces a single output
                     and exits. 延时统计
  --latency-history  Like --latency but tracking latency changes over time.
                     Default time interval is 15 sec. Change it using -i.
  --latency-dist     Shows latency as a spectrum, requires xterm 256 colors.
                     Default time interval is 1 sec. Change it using -i.
  --lru-test <keys>  Simulate a cache workload with an 80-20 distribution.
  --replica          Simulate a replica showing commands received from the master.
  --rdb <filename>   Transfer an RDB dump from remote server to local file. 导出rdb文件
  --pipe             Transfer raw Redis protocol from stdin to server.
  管道模式
  --pipe-timeout <n> In --pipe mode, abort with error if after sending all data.
                     no reply is received within <n> seconds.
                     Default timeout: 30. Use 0 to wait forever.
                     管道超时
  --bigkeys          Sample Redis keys looking for big keys.
  --hotkeys          Sample Redis keys looking for hot keys.
                     only works when maxmemory-policy is *lfu.
  --scan             List all keys using the SCAN command.获取服务器所有的键
  --pattern <pat>    Useful with --scan to specify a SCAN pattern.
  正则表达式 用于scan命令中
  --intrinsic-latency <sec> Run a test to measure intrinsic system latency.
                     The test will run for the specified amount of seconds.
  --eval <file>      Send an EVAL command using the Lua script at <file>.
  --ldb              Used with --eval enable the Redis Lua debugger.
  --ldb-sync-mode    Like --ldb but uses the synchronous Lua debugger, in
                     this mode the server is blocked and script changes are
                     not rolled back from the server memory.
  --cluster <command> [args...] [opts...]
                     Cluster Manager command and arguments (see below).
  --verbose          Verbose mode.
  --no-auth-warning  Don't show warning message when using password on command
                     line interface.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烈火138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值