1、Redis 搜索,下载,查看
# 搜索 redis 镜像
docker search redis
# 下载 redis 镜像
docker pull redis:bullseye
# 查看所有镜像
docker images
2、创建 Redis 配置文件
# 创建文件夹目录
mkdir -p /home/20221125/myredis/conf
mkdir -p /home/20221125/myredis/data
# 创建 redis.conf 文件
cd /home/20221125/myredis/conf
touch /home/20221125/myredis/conf/redis.conf
3、创建 Redis 容器并启动
# 实例1
docker run \
--name first_redis \
-p 6379:6379 \
--restart=always \
-v /home/20221125/myredis/data:/data \
-v /home/20221125/myredis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:bullseye \
redis-server /etc/redis/redis.conf
# 参数说明
# -v 宿主机路径:容器内路径
# -v /home/20221125/myredis/data:/data 将Redis储存文件夹挂载到主机
# -v /home/20221125/myredis/conf/redis.conf:/etc/redis/redis.conf 将配置文件夹挂载到主机
# --restart=always 容器重启策略,always:总是开机启动,unless-stopped:退出时总是重启
# --appendonly no 启动Redis持久化功能,默认no, 所有信息都存储在内存 [重启丢失] 设置为 yes , 将存储在硬盘 [重启还在])
# --requirepass 123456 设置密码
# redis-server /etc/redis/redis.conf Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准
# 实例2
docker run -d --name redis20231106 -p 6379:6379 redis:latest --requirepass "1q2w3E*"
# 查看容器IP地址
docker inspect first_redis
# 查看容器IP地址
docker inspect first_redis | grep 'IPAddress'
# 查看容器 hostname、ip地址、环境变量
docker exec first_redis hostname
docker exec first_redis ip addr
docker exec first_redis env
# 停止和删除容器
docker stop first_redis && docker rm first_redis
4、通过 redis-cli 连接 redis
docker exec -it first_redis redis-cli
# 出现 redis 信息说明成功
info
# 退出
exit
> docker exec -it first_redis redis-cli -h 127.0.0.1 -p 6379 -a 123456 --raw
> docker exec -it first_redis redis-cli -a 123456 --raw
> docker exec -it first_redis redis-cli --raw
> auth 1q2w3E*
5、修改 /home/20221125/myredis/conf/redis.conf 配置文件
# 跳转目录
cd /home/20221125/myredis/conf
vim redis.conf
# 编辑文件
# 输入字母【i】切换到编辑模式,修改如下
# 设置密码
requirepass 123456
# 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在])
appendonly no
# 按Esc键,回到命令模式
# 输入【:wq】保存退出
# 重启 redis
docker restart first_redis
6、通过 redis-cli 连接 redis
docker exec -it first_redis redis-cli
# 输入 info 之后,提示让输入密码【NOAUTH Authentication required.】
info
# 输入密码
auth 123456
# 再次输入info,出现 redis 信息说明成功
info
# 查看当前 redis 有没有设置密码
config get requirepass
# 退出
exit
> docker exec -it first_redis redis-cli -h 127.0.0.1 -p 6379 -a 123456 --raw
> docker exec -it first_redis redis-cli -a 123456 --raw
> docker exec -it first_redis redis-cli --raw
> auth 123456
7、查看是否启动成功【注意:在 redis 容器外执行】
[root@localhost conf]# docker ps -a |grep first_redis
[root@localhost conf]# docker logs first_redis
8、进入 redis 容器内部,进行查看或者操作【方式1】
docker exec -it first_redis redis-cli
set age 100
get age
# 退出
exit
9、进入 redis 容器内部,进行查看或者操作【方式2】
docker exec -it first_redis /bin/bash #默认进入data文件夹
redis-cli
set age 100
get age
# 退出【需要执行2遍】
exit
10、进入 redis 容器内部(通过密码),进行查看或者操作【方式3】
docker exec -it first_redis redis-cli -h 172.17.0.2 -p 6379 -a 123456
#提示警告【Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.】可以忽略
set age 100
get age
11、通过密码进入 redis 容器内部,进行查看或者操作【方式4】
# 容器IP地址
docker inspect first_redis
# 默认进入data文件夹
docker exec -it first_redis /bin/bash
redis-cli -h 172.17.0.2 -p 6379 -a 123456
# 提示警告【Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.】可以忽略
set age 100
get age
12、设置 redis 跟随docker启动
docker update first_redis --restart=always
# 退出时总是重启
docker update first_redis --restart=unless-stopped
docker-compose
# Step 1: 创建 docker-compose.yml 文件
cd //home/20221125/myredis
vim docker-compose.yml
# Step 2: 编辑内容如下
version: "3.0"
services:
redisServer:
image: redis
container_name: first_redis
restart: always
privileged: true
ports:
- 6379:6379
volumes:
- /home/20221125/myredis/data:/data
- /home/20221125/myredis/conf/redis.conf:/etc/redis/redis.conf
# Step 3: 执行命令
docker-compose up -d
*
*
*