当前位置:   article > 正文

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

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


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

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

docker pull centos:centos7

docker run -itd --privileged=true --name centos7 centos:centos7 /usr/sbin/init
  • 1
  • 2
  • 3

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

docker cp redis-6.2.6.tar.gz 容器ID:/usr/local/src
  • 1

3、安装Redis依赖

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

yum install -y gcc tcl
  • 1
  • 2
  • 3
  • 4

4、安装Redis

cd /usr/local/src
# 解压
tar -zxvf redis-6.2.6.tar.gz
cd redis-6.2.6
yum install make
make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5、修改相关配置

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

bind 0.0.0.0
daemonize yes
requirepass 123321
logfile "redis.log"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6、设置开机自启
创建自启文件

vi /etc/systemd/system/redis.service
  • 1

复制粘贴以下内容

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


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


[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

重新加载服务

systemctl daemon-reload
  • 1

注意,此处如果前面在创建容器时没有添加参数 --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
  • 1
  • 2
  • 3
  • 4

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


二、一步到位法

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

docker pull redis:6.2.6
  • 1

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

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参数含义为:

  • –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,验证密码
  • 1
  • 2
  • 3

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/340324
推荐阅读
相关标签
  

闽ICP备14008679号