广告位联系
返回顶部
分享到

通过docker和docker-compose安装redis两种方式

Redis 来源:互联网 作者:佚名 发布时间:2024-12-12 22:45:03 人浏览
摘要

Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。这里介绍通过docker和docker-compose两种安装redis的方式。 一、

Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。这里介绍通过docker和docker-compose两种安装redis的方式。

一、docker安装方式

1、查看可用的 Redis 版本

访问 Redis 镜像库地址:https://hub.docker.com/_/redis?tab=tags。

可以通过 Sort by 查看其他版本的 Redis,默认是最新版本 redis:latest。

也可以在下拉列表中找到其他版本:

此外,我们还可以用 docker search redis 命令来查看可用版本:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$ docker search  redis

NAME                      DESCRIPTION                   STARS  OFFICIAL  AUTOMATED

redis                     Redis is an open source ...   2321   [OK]      

sameersbn/redis                                         32                   [OK]

torusware/speedus-redis   Always updated official ...   29             [OK]

bitnami/redis             Bitnami Redis Docker Image    22                   [OK]

anapsix/redis             11MB Redis server image ...   6                    [OK]

webhippie/redis           Docker images for redis       4                    [OK]

clue/redis-benchmark      A minimal docker image t...   3                    [OK]

williamyeh/redis          Redis image for Docker        3                    [OK]

unblibraries/redis        Leverages phusion/baseim...   2                    [OK]

greytip/redis             redis 3.0.3                   1                    [OK]

servivum/redis            Redis Docker Image            1                    [OK]

...

2、取最新版的 Redis 镜像

这里我们拉取官方的最新版本的镜像:

1

$ docker pull redis:latest

3、查看本地镜像

使用以下命令来查看是否已安装了 redis:

1

$ docker images

在上图中可以看到我们已经安装了最新版本(latest)的 redis 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 redis 容器:

1

$ docker run -itd --name redis-test -p 6379:6379 redis

参数说明: 

  • -p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。

5、安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

接着我们通过 redis-cli 连接测试使用 redis 服务。

1

$ docker exec -it redis-test /bin/bash

二、 使用docker-compose安装redis的方法

1.目录结构

docker-compose和redis相关的目录和文件存储结构如下:

1

2

3

4

5

6

7

myProject                       ----项目名

├── compose     

│    └── docker-compose.yml     ----compose配置文件

└── redis    

   ├── data                     ----redis数据存储目录    

   ├── logs                     ----redis日志文件目录(redis.conf中logfile设置相对路径则不需要)    

   └── redis.conf               ----redis配置文件

2.redis.conf配置文件内容

使用官方的redis.conf配置文件没搞定(可能是redis版本有差异,个别参数不匹配),这里我们直接将主要参数提取出来。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#开启远程可连接

#bind 127.0.0.1

#自定义密码

requirepass 12345678

#指定 Redis 监听端口(默认:6379)

port 6379

#客户端闲置指定时长后关闭连接(单位:秒。0:关闭该功能)

timeout 0

# 900s内如果至少一次写操作则执行bgsave进行RDB持久化操作

save 900 1

# 在300s内,如果至少有10个key进行了修改,则进行持久化操作

save 300 10

#在60s内,如果至少有10000个key进行了修改,则进行持久化操作

save 60 10000

#是否压缩数据存储(默认:yes。Redis采用LZ 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大)

rdbcompression yes

#指定本地数据文件名(默认:dump.rdb)

dbfilename dump.rdb

#指定本地数据文件存放目录

dir /data

#指定日志文件位置(如果是相对路径,redis会将日志存放到指定的dir目录下)

logfile "redis.log"

3.docker-compose.yml配置文件内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

version: "3.8"

services:

  redis:

    # 镜像及版本     

    image: redis:6.2.6

    # 自定义容器名

    container_name: my-redis

    # docker启动时,自动启动该容器

    restart: always

    # 挂载映射,可以让数据或配置持久化

    volumes:

      # <本地配置文件> : <docker中的配置文件> : <ro:docker容器对该文件只读,默认是rw可读可写>

      - ../redis/redis.conf:/etc/redis/redis.conf:ro

      # <本地数据目录> : <docker中的数据目录>

      - ../redis/data:/data

      # <本地日志目录> : <docker中的日志目录>

      # redis不具有自动创建/logs的权限,如果redis.conf中指定的相对位置,则数据目录已经可以映射出日志文件

      #- ../redis/logs:/logs

    # docker执行的启动命令

    command: redis-server /etc/redis/redis.conf

    ports:

     # <本地端口> : <docker容器端口>

     - 6378:6379

4. docker-compose启动和关闭

1

2

3

4

5

6

7

8

#  cd compose

#  docker-compose up

 

// 或以后台方式启动

#  docker-compose up -d

 

// 关闭docker-compose

#  docker-compose down

5. 检查redis启动情况

直接使用客户端RDM连接redis;也可以先通过命令检查一下:

1

2

3

4

5

// 查看容器

# docker ps

 

// 查看端口

# netstat -ntlp

6.查看redis容器的CPU和内存使用状态

1

2

3

4

# docker stats my-redis

 

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS

0631151ef5d8        my-redis            0.05%               1.766MiB / 3.7GiB   0.05%               13kB / 55.1kB       0B / 8.19kB         6


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Redis连接池配置方式

    Redis连接池配置方式
    连接池配置 一、Redis连接池 与JDBC中在与数据库进行连接时耗时,从而需要引入连接池一样。 Java在与Redis进行连接也是需要时间的。所以在
  • 通过docker和docker-compose安装redis两种方式

    通过docker和docker-compose安装redis两种方式
    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。这里介
  • Linux环境下升级redis的详细步骤介绍

    Linux环境下升级redis的详细步骤介绍
    一、摘要 最近漏洞扫描服务器发现,Redis 缓冲区溢出漏洞(CVE-2024-31449),解决办法redis更新到6.2.16、7.2.6或7.4.1及以上版本。 二、漏洞描述 漏
  • Redis实现限量优惠券的秒杀功能

    Redis实现限量优惠券的秒杀功能
    核心:避免超卖问题,保证一人一单 业务逻辑 代码步骤分析 全部代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
  • redis缓存预热的实现介绍
    一、缓存预热的必要性 在一个高并发的系统中,如果缓存刚启动时是空的,所有的请求都会直接打到数据库,这可能会导致以下问题: 高延
  • Redis哈希槽的介绍
    1. 什么是 Redis 哈希槽? Redis Cluster 是 Redis 的分布式架构,它将数据分布在多个 Redis 实例(节点)上。为了实现数据分片,Redis Cluster 使用了
  • mysql中窗口函数lag()用法介绍
    在MySQL中,窗口函数LAG()可以用来访问当前行的前一行或多行的数据。这个函数通常用于分析时间序列数据,比如计算相邻行之间的差异或者
  • MySQL中group_concat函数用法小结

    MySQL中group_concat函数用法小结
    一、group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果。group_concat函数首先根据group by指定的列进行分组
  • Redis模拟延时队列实现日程提醒的方法
    使用Redis模拟延时队列 实际上通过MQ实现延时队列更加方便,只是在实际业务中种种原因导致最终选择使用redis作为该业务实现的中间件,顺
  • mysql日常锁表之flush_tables介绍
    1. Flush tables简介 官方手册中关于Flush tables的介绍 Closes all open tables, forces all tables in use to be closed, and flushes the query cache. FLUSH TABLES also remove
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计