【Redis】在Docker中安装Redis以及相关报错解决

5 篇文章 0 订阅


一、在docker里面手动安装(可能报错)

根据视频进行的redis安装
1、使用docker拉取centos7镜像并创建容器

docker pull centos:centos7

docker run -itd --privileged=true --name centos7 centos:centos7 /usr/sbin/init

2、下载redis-7.0.15.tar.gz
进入redis所在文件夹打开命令行
然后输入

docker cp redis-7.0.15.tar.gz 容器ID:/usr/local/src

3、安装Redis依赖

#进入容器
docker exec -it centos7 /bin/bash

yum install -y gcc tcl

4、安装Redis

cd /usr/local/src
# 解压
tar -zxvf redis-7.0.15.tar.gz
cd redis-7.0.15
yum install make
make && make install

5、修改相关配置

cp redis.conf redis.conf.bck
vi redis.conf

bind 0.0.0.0
daemonize yes
requirepass 123321
logfile "redis.log"

6、设置开机自启(可以不用设置,也可以用)
创建自启文件

vi /etc/systemd/system/redis.service

复制粘贴以下内容

[Unit]
Description=redis-server
After=network.target


[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.15/redis.conf
PrivateTmp=true


[Install]
WantedBy=multi-user.target

重新加载服务

systemctl daemon-reload

注意,此处如果前面在创建容器时没有添加参数 --privileged=true,则会报错
Failed to get D-Bus connection: Operation not permitted

Error:Failed to get D-Bus connection: Operation not permitted的解决方法

停止容器并删除,然后重新创建

docker stop centos7
docker rm centos7

docker run -itd --privileged=true --name centos7 centos:centos7 /usr/sbin/init

然后从头再来
如果无法解决该问题,根据这篇文章的说法,是由于docker和centos7之间的版本bug导致的。


二、一步到位法

参考
都使用docker了,还是别费心在环境配置上了
1、拉取镜像

docker pull redis:6.2.6

2、下载redis.conf文件,然后修改以下四个属性

bind 0.0.0.0
##守护模式一定要no,要不然容器会一直重启
daemonize no
requirepass 123321
logfile "redis.log"

3、将conf文件与data文件夹如此排列
在这里插入图片描述
根据文件位置,生成容器命令为

docker run --restart=always \
-p 6379:6379 \
--privileged \
--name myredis \
-v /var/redis/redis.conf:/etc/redis/redis.conf \
-v /var/redis/data:/data \
-it redis:6.2.6 redis-server /etc/redis/redis.conf

参数含义为:

  • –restart=always:开机启动
  • -p:挂载端口
  • –privileged:容器的特权模式
  • -v:挂载,前面是主机的为文件,后面是容器内文件
  • redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的 redis.conf文件

进入容器并测试

docker exec -it myredis /bin/bash
redis-cli
auth 123321  #根据配置中的requiredpass,验证密码

在这里插入图片描述

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis 是一款非常流行的内存数据库,它支持多种数据结构,如字符串、哈希表、列表、集合和有序集合等。在 Docker 部署 Redis 非常方便,只需要通过 Docker Hub 下载 Redis 镜像,然后运行容器即可。 首先,在 Docker 部署 Redis 需要先安装 Docker,这里不再赘述。接着,我们需要从 Docker Hub 上下载 Redis 镜像,这可以通过下面的命令来实现: ``` docker pull redis ``` 下载完毕后,我们可以通过下面的命令来启动 Redis 容器: ``` docker run --name myredis -d redis ``` 这里,我们将 Redis 容器命名为 myredis,并且将其设置为后台运行。如果需要对容器进行交互操作,可以使用下面的命令进入容器: ``` docker exec -it myredis redis-cli ``` 这里,我们使用参数 -it 来进入交互模式,并且通过参数 myredis 指定需要进入的容器名。 在 Redis ,可以使用 GET 命令来查询某个键的值,例如: ``` GET mykey ``` 这个命令将返回键 mykey 对应的值。如果想要查询数据库所有的键值对,可以使用 KEYS 命令: ``` KEYS * ``` 这个命令将返回数据库所有的键。需要注意的是,使用 KEYS 命令会扫描整个数据库,如果数据库的键值对非常多,可能需要一些时间。 此外,Redis 还支持多种查询命令,如 HGET、LINDEX、SMEMBERS 和 ZRANGE 等。这些命令可以查询指定数据结构的元素,详细使用方法可以参考 Redis 官方文档。 在使用 Redis 进行数据查询时,我们还需要注意一些性能和安全方面的问题。例如,为了避免 Redis 因为内存限制而崩溃,需要对 Redis 进行内存管理和性能调优;同时,还需要设置 Redis 访问密码等安全措施,以防止未经授权的访问。 总之,RedisDocker 的部署和数据查询非常方便,可以大大提高开发和运维效率。需要注意的是,在使用 Redis 进行数据存储和查询时,需要遵循一些最佳实践和安全规范,以保障系统的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rockict_z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值