Docker安装redis的命令很简单,但是很多都是半成品的命令,说白了,就是自己玩玩,一个demo级别的redis而已。

本篇文章以最全的命令方式安装部署Redis。

注意:

本篇只是单机版的,只是公司测试环境使用,或者作为集群方式安装的时候每一个节点的标准安装方式。

1. 查询所有镜像

docker search redis

2. 拉取redis镜像

docker pull redis

3. 查看所有镜像

docker images -a

4. 宿主机创建需要挂载的目录和文件

mkdir -p /usr/local/redis/{data,conf}
vim /usr/local/redis/conf/redis.conf

在redis.conf文件中输入内容:

appendonly yes

appendfilename "appendonly.aof"

解读:

appendonly yes:开启aof持久化。Redis默认的是RDB。

appendfilename "appendonly.aof":持久化文件名,这里你可以叫做a.aof,b.aof都行

容器创建之后会在宿主机的/usr/local/redis/data目录下生成aof文件和rdb持久化文件,分别是:

appendonly.aof

dump.rdb 

容器中则是在/data目录生成以上两个文件,同时会在/etc/redis/文件夹下生成redis.conf文件。

5. 创建redis容器

docker run --name redis -d -p 6379:6379 --restart=always --requirepass 123456 \

-v /usr/local/redis/data:/data \

-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \

redis redis-server /etc/redis/redis.conf

命令解决:

docker run:docker创建容器的标准命令

--name redis:指定将要创建的容器的名称

-d:创建容器之后让容器后台运行

-p 6379:6379:端口映射,将宿主机的6379端口映射到容器的6379端口。

        格式:宿主机端口:容器端口

--restart=always:自动重启,失败自动重启并且docker重启则对应的容器也自动重启

--requirepass 123456:设置redis的密码为123456

-v 数据卷挂载,将宿主机的/usr/local/redis/data映射到容器的/data

第二个-v,将宿主机的 /usr/local/redis/conf/redis.conf文件映射到容器中/etc/redis/redis.conf

redis:启动的镜像名称或id

redis-server /etc/redis/redis.conf:指定redis服务端启动时加载的配置文件

6. 查看正在运行的容器,或者所有容器

docker ps

docker ps -a

7. 进入容器

# 此处的redis指的是容器名或容器id

docker exec -it redis bash
# 连接redis,进入redis命令行界面

redis-cli

8. 测试

8.1 测试方法一

# 命令行返回:OK
set key1 v1


# 命令行返回:“v1”
set key1

8.2 测试方法二

# 客户端返回:PONG
ping

此时代表一台redis安装成功。

docker 运行一个redis:4.0.11 docker部署redis_docker

9. 退出redis连接命令行

Ctrl + c
# 或者
exit

10. 退出redis容器

Ctrl + pq
# 或者
exit

或者直接启动redis容器并连接redis进入命令行界面

docker exec -it redis redis-cli

 

docker 运行一个redis:4.0.11 docker部署redis_docker_02

11. 查看redis密码

# 进入容器并连接redis

docker exec -it redis redis-cli
# 查看密码

config get requirepass

12. 设置redis密码

如果之前没有创建密码,测试可以创建密码。

config set requirepass 123456

13. 再次查看密码设置情况

docker 运行一个redis:4.0.11 docker部署redis_命令行_03

14. 命令行方式登陆

如果我们退出redis连接,再重新登陆需要验证密码。

# 验证密码
auth 123456

否则会报错:

(error) NOAUTH Authentication required

 

docker 运行一个redis:4.0.11 docker部署redis_命令行_04

 15. 清空密码

# 将密码置为空字符串即可
config set requirepass ""

修改密码同理。