开发者

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

目录
  • 一、docker安装方式
    • 1、查看可用的 编程客栈Redis 版本
    • 2、取最新版的 Redis 镜像
    • 3、查看本地镜像
    • 4、运行容器
    • 5、安装成功
  • 二、 使用docker-compose安装redis的方法
    • 1.目录结构
    • 2.redis.conf配置文件内容
    • 3.docker-compose.yml配置文件内容
    • 4. docker-compose启动和关闭
    • 5. 检查redis启动情况
    • 6.查看redis容器的CPU和内存使用状态
  • ‍总结

    通过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和docker-compose安装redis两种方式详解

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

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

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

    $ 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]
    ...
    android

    2、取最新版的 Redis 镜像

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

    $ docker pull redis:latest

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

    3、查看本地镜像

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

    $ docker images

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

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

    4、运行容器

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

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

    参数说明: 

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

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

    5、安装成功

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

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

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

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

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

    1.目录结构

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

    myProject                       ----项目名
    ├── compose      
    │    └── docker-compose.yml     ----compose配置文件
    └── redis     
       ├── data                     ----redis数据存储目录     
       ├── logs                     ----redis日志文件目录(redis.conf中logfile设置相对路径则不需要)     
       └── redis.conf               ----redis配置文件

    2.redis.conf配置文件内容

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

    #开启远程可连接
    #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
    #指定本地数据文件存放目录
    djavascriptir /data
    #指定日志文件位置(如果是相对路径,redis会将日志存放到指定的dir目录下)
    logfile "redis.log"

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

    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启动和关闭

    #  cd compose
    #  docker-compose up
    
    // 或以后台方式启动
    #  docker-compose up -d
    
    // 关闭docker-compose
    #  docker-compose down

    5. 检查redis启动情况

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

    // 查看容器
    # docker ps
    
    // 查看端口
    # netstat -ntlp

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

    # 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

    ‍总结

    到此这篇关于通过docker和docker-compose安装redis两种方式的文章就介绍到这了,更多相关docker和docker-compose安装redis内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜