文章目录
- 一、在docker里面手动安装(可能报错)
- Error:Failed to get D-Bus connection: Operation not permitted的解决方法
- 二、一步到位法
一、在docker里面手动安装(可能报错)
根据视频进行的redis安装
1、使用docker拉取centos7镜像并创建容器
docker pull centos:centos7docker run -itd --privileged=true --name centos7 centos:centos7 /usr/sbin/init
2、下载redis-6.2.6.tar.gz
进入redis所在文件夹并打开命令行
然后输入
docker cp redis-6.2.6.tar.gz 容器ID:/usr/local/src
3、安装Redis依赖
#进入容器
docker exec -it centos7 /bin/bashyum install -y gcc tcl
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
5、修改相关配置
cp redis.conf redis.conf.bck
vi redis.confbind 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-6.2.6/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 centos7docker 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,验证密码