docker安装启动redis 说说那些年遇到的坑

docker使用教程相关系列 目录


目录

得到redis.conf

解压得到redis.conf

坑一:

修改配置文件redis.conf

坑二:

创建redis目录

docker 下载安装运行redis

启动redis

坑三:

补充:


得到redis.conf

redis官网:https://redis.io/

进入官网,下载指定的redis版本,并解压得到redis.conf

这里用的是5.0.5版本

0

0

https://download.redis.io/releases/

选择你要的版本

0

解压得到redis.conf

0

坑一:

官网得到的redis版本要跟等下docker安装的redis版本一致,不同的版本redis配置文件可能会有差别。

修改配置文件redis.conf

开启redis验证    requirepass 123456

0

允许redis对外连接

#bind 127.0.0.1 要注释掉

0

开启redis数据持久化

appendonly yes

0

坑二:

这个配置会和dcoker run中-d参数冲突,导致容器一直启动不了

daemonize yes 要注释

0

创建redis目录

cd /usr
mkdir redis

0

cd redis 

将准备好的redis.conf放进reids目录

mkdir data

0

docker 下载安装运行redis

下载5.0.5版本的redis

docker pull redis:5.0.5

0

docker images

启动redis

docker run -d -p 6379:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/redis.conf

0

注:redis-server  /etc/redis/redis.conf:指定容器启动时执行的命令

其他命令不懂的,看我操作容器的博文-->

坑三:

容器有创建成功,但运行不起来

0

排查问题:

看redis的运行日志

docker logs myredis

报错:

chown: changing ownership of '.': Permission denied

0

权限不够,问题找到了

解决方案:

先删除redis容器

docker rm myredis

增加--privileged=true 命令

docker run -d -p 6379:6379 --privileged=true  -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/redis.conf

0

进入容器

docker exec -it myredis /bin/bash

0

执行redis-cli 连接redis

提示没权限,说明我们的redis.conf配置生效了

0

输入验证密码:

0

测试下,OK

0

0

补充:

可在容器外直接连接redis

docker exec -it myredis redis-cli

0

如果同学你还遇到其他坑,也可以留言表达下,赠人玫瑰,手留余香嘛

猜你喜欢

转载自blog.csdn.net/shi_hong_fei_hei/article/details/115361510