centos7安装redis6.25结合docker镜像配置方法(附redis.conf文件)

5 篇文章 0 订阅
1 篇文章 0 订阅

1.普通安装与启动

需要redis.conf文件 可以移步主页下载
深入理解Redis List队列底层数据结构

  • centos7安装redis6.2.5

下载解压安装包:

wget http://download.redis.io/releases/redis-6.2.5.tar.gz
tar -zvxf redis-6.2.5.tar.gz

安装并指定安装目录:

cd redis-6.2.5
make
make install PREFIX=安装目录

启动:

  • 前台启动:
cd /usr/local/redis/bin 
./redis-server
  • 后台启动
//备份配置文件
cp redis-6.2.5/redis.conf redis/bin/redis.conf
//修改配置文件
cd /usr/local/redis/bin
vim redis.conf

将demonize no 改为 yes 允许redis-server线程化运行

//以当前配置文件运行redis-server
[root@lingg bin]# ./redis-server redis.conf 
//查看进程
[root@lingg bin]# ps -ef | grep redis
root      9155  8362  0 14:47 pts/3    00:00:00 grep --color=auto redis
root     32561 31917  0 14:06 pts/0    00:00:00 vim redis.conf

查看是否能够正常使用redis

[root@lingg redis]# cd bin
[root@lingg bin]# ll
总用量 18972
-rwxr-xr-x 1 root root 4829552 918 14:23 redis-benchmark
lrwxrwxrwx 1 root root      12 918 14:23 redis-check-aof -> redis-server
lrwxrwxrwx 1 root root      12 918 14:23 redis-check-rdb -> redis-server
-rwxr-xr-x 1 root root 5003160 918 14:23 redis-cli
-rw-r--r-- 1 root root   93725 918 14:47 redis.conf
lrwxrwxrwx 1 root root      12 918 14:23 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 9491672 918 14:23 redis-server

[root@lingg bin]# ./redis-server redis.conf
[root@lingg bin]# ps -ef |grep redis
root     13670     1  0 15:58 ?        00:00:00 ./redis-server 127.0.0.1:6379
root     13690 13462  0 15:58 pts/0    00:00:00 grep --color=auto redis
[root@lingg bin]# ./redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> 

表示已经可以成功使用

2.docker镜像方式启动

  1. 容器内redis-cli 连接镜像内 redis-server
  • 拉取redis官方镜像 我本地已经存在了
[root@lingg ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
Digest: sha256:e595e79c05c7690f50ef0136acc9d932d65d8b2ce7915d26a68ca3fb41a7db61
Status: Image is up to date for redis:latest

[root@lingg ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ad4c705f24d3        9 days ago          133MB
redis               latest              02c7f2054405        2 weeks ago         105MB
  • 启动redis容器

    查了下网上的资料,说redis镜像中没有配置文件,所以需要从宿主机将修改好的配置文件通过卷挂载的方式挂载到容器内部,并且通过端口映射将6379端口暴露出去

[root@lingg bin]# docker run -it -v /usr/local/redis/bin/data/:/usr/local/src/data -p 30000:6379 --name redis  02c7f2054405  /bin/bash
  • 查看容器状态
[root@lingg ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
8448ceaaac97        02c7f2054405        "docker-entrypoint..."   10 minutes ago      Up 10 minutes       0.0.0.0:30000->6379/tcp   redis
7a226d1759f8        ad4c705f24d3        "/docker-entrypoin..."   2 days ago          Up 2 days           0.0.0.0:80->80/tcp        condescend
  • 查看容器内redis的启动方式
root@8448ceaaac97:/usr/local/src/data# cd /usr/local/bin
root@8448ceaaac97:/usr/local/bin# ls -al
total 27632
drwxr-xr-x 2 root root     4096 Sep  3 13:26 .
drwxr-xr-x 1 root root     4096 Sep  2 00:00 ..
-rwxrwxr-x 1 root root      374 Sep  3 13:24 docker-entrypoint.sh
-rwxr-xr-x 4 root root  2404352 Apr 16  2020 gosu
-rwxr-xr-x 3 root root  6903152 Sep  3 13:26 redis-benchmark
lrwxrwxrwx 1 root root       12 Sep  3 13:26 redis-check-aof -> redis-server
lrwxrwxrwx 1 root root       12 Sep  3 13:26 redis-check-rdb -> redis-server
-rwxr-xr-x 3 root root  6754896 Sep  3 13:26 redis-cli
lrwxrwxrwx 1 root root       12 Sep  3 13:26 redis-sentinel -> redis-server
-rwxr-xr-x 3 root root 12206280 Sep  3 13:26 redis-server
  • 进入放有redis配置文件的目录进行测试启动
root@8448ceaaac97:/data# cd /usr/local/src/ data
root@8448ceaaac97:/usr/local/src/data# ls  
redis.conf
root@8448ceaaac97:/usr/local/src/data# redis-server redis.conf 
root@8448ceaaac97:/usr/local/src/data# redis-cli
127.0.0.1:6379> keys *
(empty array)
  1. 容器外redis-cli连接容器内redis-server

    关掉宿主机上面的redis-server进程

    通过netstat 查看占用6379端口的进程,并将其杀掉。

[root@lingg bin]# netstat -tanlp |grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      13670/./redis-serve 
tcp        0      0 127.0.0.1:46564         127.0.0.1:6379          TIME_WAIT   -                   
tcp6       0      0 ::1:6379                :::*                    LISTEN      13670/./redis-serve 
[root@lingg bin]# kill 13670

​ 由于刚才容器中已经启动了redis-server 所以按照正常的思路,直接在宿主机上用redis-cli连接127.0.0.1的30000端口就应该可以成功:

[root@lingg bin]# ./redis-cli -h 127.0.0.1 -p 30000
127.0.0.1:30000> keys *
Error: Connection reset by peer

结果发生了错误:Error: Connection reset by peer

image-20210919170651792

这是在容器外连接容器内redis-server的一个坑

我们首先执行docker inpect 命令在Networks模块中查看容器的IP地址,然后将redis容器中的redis.conf文件中的bind 改为docker容器的IP地址

docker inspect 8448ceaaac97 
image-20210919171707737

修改配置文件

image-20210919172439776

重新连接30000端口

[root@lingg data]# cd /usr/local/redis/bin
[root@lingg bin]# ./redis-cli -p 30000
127.0.0.1:30000> keys *
(empty array)

成功!

若有不足,还请指正!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上使用Docker安装Redis,有几种方法可以选择。以下是三种不同的方法: 方法一: 首先,您需要在CentOS 7上配置Docker安装Docker引擎。然后,您可以使用以下命令从Docker Hub下载Redis镜像并创建一个容器: ``` docker run -p 6379:6379 --name myredis -d redis ``` 这将从Docker Hub下载最新的Redis镜像,并在端口6379上运行Redis容器。 方法二: 如果您希望使用自己的Redis配置文件,可以将redis.conf文件上传到您的服务器上的特定目录,例如`/usr/local/docker/`。然后,使用以下命令创建一个容器: ``` docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes ``` 这将使用您上传的redis.conf文件作为配置文件,并将Redis数据目录映射到`/usr/local/docker/data`目录。您可以根据需要调整路径。 方法三: 如果您需要使用特定的Redis版本,可以自己构建Docker镜像。首先,将redis.conf文件上传到服务器的特定目录,例如`/home/deploy/third_code/redis/redis-4.0.10/redis.conf`。然后,使用以下命令创建一个容器: ``` sudo docker run -d -v /home/deploy/third_code/redis/redis-4.0.10/redis.conf:/etc/redis/redis.conf -p 6379:6379 --privileged=true --name redis centos7_redis redis-server /etc/redis/redis.conf ``` 这将使用您上传的redis.conf文件作为配置文件,并在CentOS 7上运行一个特定版本的Redis容器。 请根据您的需求选择适合您的方法,并根据具体情况调整路径和容器名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值