redis的使用

117 阅读3分钟
  1. 这里我们拉取官方的最新版本的镜像
docker pull redis:latest
  1. 因为需要redis的配置文件,这里最好还是去redis的官方去下载一个redis使用里面的配置文件即可

redis中文官方网站:redis 6.0.6 下载 -- Redis中国用户组(CRUG)

  • 新建文件夹mkdir -p /home/redis/myredis
  • 因为我是window,可以先新建配置文件touch /home/redis/myredis/redis.conf
  • vi /home/redis/myredis/redis.conf,将下载好的配置文件复制到这里面去
  1. 修改redis.conf配置文件: 主要配置的如下:

bind 127.0.0.1 #注释掉这部分,使redis可以外部访问

daemonize no#用守护线程的方式启动

requirepass 你的密码#默认是被注释掉的,给redis设置密码

appendonly yes#redis持久化  默认是no

tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300

image.png

  1. 启动docker redis

docker run [可选参数] 镜像名 [向启动容器中传入的命令]

新建文件夹mkdir -p /home/redis/data,方便把redis持久化的数据在宿主机内显示,做数据备份

docker run -p 6379:6379 --name redis -v /home/redis/myredis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf
常用可选参数作用
i表示以《交互模式》运行容器
d会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)
t表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端
name为创建的容器命名。(默认会随机给名字,不支持中文字符!!!)
v表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上
p表示端口映射,即宿主机端口:容器中端口。 比如:-p 8080:80 就是将容器中的80端口,映射到主机中的8080端口
network=host表示将主机的网络环境映射到容器中,使容器的网络与主机相同。每个 Docker 容器都有自己的网络连接空间连接到虚拟 LAN。使用此命令则会让容器和主机共享一个网络空间
redis-server /etc/redis/redis.conf这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
  1. 接着通过 docker container ps 命令查看容器的运行信息:

image.png

  1. 查看日志,docker logs redis,如果要看30分钟内的日志可以用docker logs --since 30m redis

image.png

  1. 操作后台容器
docker exec -it 容器名或容器id /bin/bash
eg
docker exec -it redis /bin/bash

image.png

接着我们通过 redis-cli 连接测试使用 redis 服务

报错(error) NOAUTH Authentication required.,因为我设置了密码,需要用密码登陆认证,验证密码auto "密码"

image.png