在服务器使用docker安装redis-CSDN博客

65 阅读4分钟

购买云耀云服务器 L 实例

华为云耀云服务器 L 实例是一款轻量级云服务器,开通选择实例即可立刻使用,不需要用户再对服务器进行基础配置。新用户还有专享优惠,2 核心 2G 内存 3M 带宽的服务器只要 89 元/年,可以点击购买地址去购买云服务器。

购买指导可以查看上一篇文章云服务器选购

在这里插入图片描述

云耀云服务器 L 实例安装 docker

这一部分在上一篇文章中已经详细说明,详见在云服务器上安装 Docker,本文不再赘述。

测试 Docker 是否正常运行

# 查看docker版本
docker version
# 测试运行容器
docker run hello-world

在这里插入图片描述

看到输出 docker 版本则表示 docker 已经成功安装,此时我们可以继续运行 hello world 的容器,测试容器是否可以正常运行。

在这里插入图片描述

如果 Docker 正常运行,就可以看到 docker 在成功创建容器并运行容器后,输出 hello from Docker!

redis 简介

Redis 是一个开源的内存型数据库,也被称为数据结构服务器 nosql。它是一种高性能、非关系型数据库,通常用于缓存和快速存储键值对数据,也可以支持多种复杂的数据结构。

Redis 在许多应用场景中都有应用,比如缓存、会话存储、消息队列、计数器、排行榜、实时分析和发布/订阅系统等。

查看可用的 Redis 版本

可以在 redis 镜像地址: https://hub.docker.com/_/redis?tab=tags,可以这里查找到所有可用的 redis 版本。

在这里插入图片描述

同时通过 docker 搜索指令,可以输出 redis 可用版本,供之后 docker 拉取镜像选择版本。

docker search redis

![[imgs/redis版本.png]]

拉取 Redis 镜像

这里拉取的是最新的 redis 镜像,用 latest 标识。也可以根据上面输出的 redis 版本进行指定版本的 redis 镜像拉取。

docker pull redis:latest

![[imgs/pull redis.png]]

查看本地所有镜像

当 redis 镜像下载完成后,我们可以通过 images 命令查看本地所有的 docker 镜像。

docker images

![[imgs/images.png]]

运行 redis 容器

通过 run 命令运行 docker 容器,这里可以使用上面下载好的 redis 镜像,也可以指定本地未下载的 redis 镜像版本,此时 docker 会先执行 pull 命令,下载完 redis 镜像后才执行 run 命令。

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

参数说明:

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

![[imgs/redis容器.png]]

查看运行情况

ps 命令会输出所有的正在运行的 docker 容器

docker ps

![[imgs/redis ps.png]]

进入容器内部,还可以通过 redis-cli 连接测试使用 redis 服务。

docker exec -it redis-test /bin/bash
redis-cli
set name berbai
get name

![[imgs/redis指令.png]]

到此 docker 安装 redis 已经完成啦。

将数据文件映射至宿主机

创建存放 redis 数据的文件夹

mkdir -p ~/i/apps/redis/{conf,data}

![[imgs/redis存放路径.png]]

下载配置文件

cd ~/i/apps/redis/conf  
wget https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf

![[imgs/redis config.png]]

修改下载的配置文件

sudo vim redis.conf
  1. 注释 bind 127.0.0.1
  2. protected-mode yes 修改成 protected-mode no
  3. 添加 requirepass yourpassword 【可选】(注:不添加则可以无密码访问)

redis.conf文件修改内容参考如下:

# 注释符号 #
# 1. 注释 bind 127.0.0.1
# 2. protected-mode yes 修改成 protected-mode no
# 3. 添加 requirepass yourpassword (注:不添加则可以无密码访问)

# 注:步骤1和步骤的2目的是为了远程连接redis,如果只需本地访问就无需修改。

#  bind 127.0.0.1
protected-mode no

创建并启动容器

如果刚刚创建的容器还存在,那么需要先删除刚刚创建的redis容器,再执行run命令。

docker rm -f redis-test

-f 参数是强制删除,实际生产环境中请谨慎使用。

![[imgs/删除refids.png]]

docker run -d  -p 6379:6379 -v ~/i/apps/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/i/apps/redis/data:/data --name myredis redis redis-server /usr/local/etc/redis/redis.conf

![[imgs/redis外部文件.png]]

到此redis容器成功运行,并且使用宿主机的redis配置文件,和外部数据存储能力,删除redis容器后数据仍存在。