docker安装redis

 首先考虑需要安装的redis版本,我这里是安装的redis 6.0.16,如果宿主机没有,那么就docker pull redis:6.0.16

[root@localhost Docker_redis]# docker images
REPOSITORY                                                TAG       IMAGE ID       CREATED        SIZE
redis                                                     6.0.16    34ed1a7402ac   3 weeks ago    112MB 

一、指定redis配置文件

我的宿主机(虚拟机)之前没有安装redis,但宿主机需要一个redis配置文件,我自己本地电脑安装的是redis 6.0.3,那么我直接把本地的配置文件拷贝到了虚拟机指定目录。

首先在宿主机本地根目录创建redis容器卷目录,然后把本地redis配置文件拷贝到宿主机目录下,拷贝redis.conf文件拷贝,提供给docker容器用。

[root@localhost Docker_redis]# mkdir Docker_redis
[root@localhost Docker_redis]# cd Docker_redis
[root@localhost Docker_redis]# pwd
/Docker_redis
[root@localhost Docker_redis]# ls
redis.conf

然后修改redis.conf文件

编辑redis.conf文件找到以下配置
requirepass
123456 //是否需要开启redis验证,这里设置密码123456 #bind 127.0.0.1 //把这行注释掉,允许redis外地连接,必须 daemonize no //将daemonize yes这行注释或者将yes改为no,因为该配置和docker run 中的-d参数冲突,会导致容器一直启动失败 appendonly yes //redis持久化可开可不开 protected-mode yes //如果还是不放心,外界可以连接redis也可以把保护模式关闭,改为no

二、运行

[root@localhost Docker_redis]#  docker run -p 6379:6379 --name my_redis6016 --privileged=true -v /Docker_redis/redis.conf:/etc/redis/redis.conf -v /Docker_redis/data:/data -d redis:6.0.16 redis-server /etc/redis/redis.conf
6030771456a6c577635260fcad1a8d13994d189921bb04e60033a644773a2a37
[root@localhost Docker_redis]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                       NAMES
6030771456a6   redis:6.0.16   "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   my_redis6016
[root@localhost Docker_redis]# docker exec -it my_redis6016 /bin/bash
root@6030771456a6:/data# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> 

想要验证宿主机redis配置文件是否能有效控制容器redis配置,那么可以试着修改宿主机的配置文件,然后重启容器

[root@localhost Docker_redis]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                       NAMES
6030771456a6   redis:6.0.16   "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   my_redis6016
[root@localhost Docker_redis]# docker restart my_redis6016 //重启
my_redis6016

 

posted @ 2022-06-20 10:58  温柔的风  阅读(216)  评论(0编辑  收藏  举报