docker和docker-compose安装redis方式详解

打印 上一主题 下一主题

主题 954|帖子 954|积分 2862

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. $ docker search  redis
  2. NAME                      DESCRIPTION                   STARS  OFFICIAL  AUTOMATED
  3. redis                     Redis is an open source ...   2321   [OK]      
  4. sameersbn/redis                                         32                   [OK]
  5. torusware/speedus-redis   Always updated official ...   29             [OK]
  6. bitnami/redis             Bitnami Redis Docker Image    22                   [OK]
  7. anapsix/redis             11MB Redis server image ...   6                    [OK]
  8. webhippie/redis           Docker images for redis       4                    [OK]
  9. clue/redis-benchmark      A minimal docker image t...   3                    [OK]
  10. williamyeh/redis          Redis image for Docker        3                    [OK]
  11. unblibraries/redis        Leverages phusion/baseim...   2                    [OK]
  12. greytip/redis             redis 3.0.3                   1                    [OK]
  13. servivum/redis            Redis Docker Image            1                    [OK]
  14. ...
复制代码


  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
复制代码
  1. 参数说明:
复制代码


  • -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. myProject                       ----项目名
  2. ├── compose      
  3. │    └── docker-compose.yml     ----compose配置文件
  4. └── redis     
  5.    ├── data                     ----redis数据存储目录     
  6.    ├── logs                     ----redis日志文件目录(redis.conf中logfile设置相对路径则不需要)     
  7.    └── redis.conf               ----redis配置文件
复制代码
2.redis.conf设置文件内容

  使用官方的redis.conf设置文件没搞定(可能是redis版本有差异,个别参数不匹配),这里我们直接将主要参数提取出来。
  1. #开启远程可连接
  2. #bind 127.0.0.1
  3. #自定义密码
  4. requirepass 12345678
  5. #指定 Redis 监听端口(默认:6379)
  6. port 6379
  7. #客户端闲置指定时长后关闭连接(单位:秒。0:关闭该功能)
  8. timeout 0
  9. # 900s内如果至少一次写操作则执行bgsave进行RDB持久化操作
  10. save 900 1
  11. # 在300s内,如果至少有10个key进行了修改,则进行持久化操作
  12. save 300 10
  13. #在60s内,如果至少有10000个key进行了修改,则进行持久化操作
  14. save 60 10000
  15. #是否压缩数据存储(默认:yes。Redis采用LZ 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大)
  16. rdbcompression yes
  17. #指定本地数据文件名(默认:dump.rdb)
  18. dbfilename dump.rdb
  19. #指定本地数据文件存放目录
  20. dir /data
  21. #指定日志文件位置(如果是相对路径,redis会将日志存放到指定的dir目录下)
  22. logfile "redis.log"
复制代码
3.docker-compose.yml设置文件内容

  1. version: "3.8"
  2. services:
  3.   redis:
  4.     # 镜像及版本      
  5.     image: redis:6.2.6
  6.     # 自定义容器名
  7.     container_name: my-redis
  8.     # docker启动时,自动启动该容器
  9.     restart: always
  10.     # 挂载映射,可以让数据或配置持久化
  11.     volumes:
  12.       # <本地配置文件> : <docker中的配置文件> : <ro:docker容器对该文件只读,默认是rw可读可写>
  13.       - ../redis/redis.conf:/etc/redis/redis.conf:ro
  14.       # <本地数据目录> : <docker中的数据目录>
  15.       - ../redis/data:/data
  16.       # <本地日志目录> : <docker中的日志目录>
  17.       # redis不具有自动创建/logs的权限,如果redis.conf中指定的相对位置,则数据目录已经可以映射出日志文件
  18.       #- ../redis/logs:/logs
  19.     # docker执行的启动命令
  20.     command: redis-server /etc/redis/redis.conf
  21.     ports:
  22.      # <本地端口> : <docker容器端口>
  23.      - 6378:6379
复制代码
4. docker-compose启动和关闭

  1. #  cd compose
  2. #  docker-compose up
  3. // 或以后台方式启动
  4. #  docker-compose up -d
  5. // 关闭docker-compose
  6. #  docker-compose down
复制代码
5. 查抄redis启动情况

  直接使用客户端RDM毗连redis;也可以先通过下令查抄一下:
  1. // 查看容器
  2. # docker ps
  3. // 查看端口
  4. # netstat -ntlp
复制代码
6.查看redis容器的CPU和内存使用状态

  1. # docker stats my-redis
  2. CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
  3. 0631151ef5d8        my-redis            0.05%               1.766MiB / 3.7GiB   0.05%               13kB / 55.1kB       0B / 8.19kB         6
复制代码
‍  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表