1. 准备redis.conf配置文件
docker启动的redis没有找到redis.conf,所以我们从Redis的官网下载安装包,解压获取redis.conf文件
[root@docker ~]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
[root@docker ~]#
[root@docker ~]# tar -zxvf redis-6.2.6.tar.gz
[root@docker ~]#
[root@docker ~]# cd redis-6.2.6
[root@docker redis-6.2.6]#
[root@docker redis-6.2.6]# ls redis.conf
redis.conf
[root@docker redis-6.2.6]#
再新建/root/redis目录,将redis.conf放到该目录下
[root@docker ~]#
[root@docker ~]# mkdir redis
[root@docker ~]#
[root@docker ~]# cp redis-6.2.6/redis.conf redis
[root@docker ~]#
修改/root/redis/redis.conf,修改内容如下:
# 可选。开启redis验证
requirepass redis123
# 注释下面这行,允许从外部连接redis server
# bind 127.0.0.1 -::1
# 默认为no。该参数会和docker run的-d参数冲突,会导致容器一直启动失败
daemonize no
# 可选。开启数据持久化,以AOF(append-only file)的方式,将redis的写命令同步追加到磁盘的日志文件中
appendonly yes
# 最大数据库数量
databases 20
2. 初始化运行容器
[root@docker ~]# docker run -p 6379:6379 --name redis --privileged=true \
> -v /root/redis/redis.conf:/etc/redis/redis.conf \
> -v /root/redis/data:/data \
> -d redis \
> redis-server /etc/redis/redis.conf
Unable to find image 'redis:latest' locally
latest: Pulling from library/redis
a2abf6c4d29d: Pull complete
c7a4e4382001: Pull complete
4044b9ba67c9: Pull complete
c8388a79482f: Pull complete
413c8bb60be2: Pull complete
1abfd3011519: Pull complete
Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339
Status: Downloaded newer image for redis:latest
717206128cb4f4e0f8997432c36ab11bf4395ddc65c15a540b8b1f29f0095b46
[root@docker ~]#
3. 进入容器使用redis-cli
[root@docker ~]# docker exec -it redis bash
root@717206128cb4:/data#
root@717206128cb4:/data# redis-cli -a redis123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379>
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
127.0.0.1:6379> select 18
OK
127.0.0.1:6379[18]>
redis-cli使用-a指定登录的密码,用户名默认为:default
4. 官方UI客户端RedisInsight
RedisInsight是Redis官方提供的免费Redis可视化工具
点我进行下载