购买云耀云服务器 L 实例
华为云耀云服务器 L 实例是一款轻量级云服务器,开通选择实例即可立刻使用,不需要用户再对服务器进行基础配置。新用户还有专享优惠,2 核心 2G 内存 3M 带宽的服务器只要 89 元/年,可以点击华为云云耀云服务器 L 实例购买地址去购买云服务器。
购买指导可以查看上一篇文章华为云云耀云服务器 L 实例评测 |云服务器选购。
云耀云服务器 L 实例安装 docker
这一部分在上一篇文章中已经详细说明,详见华为云云耀云服务器 L 实例评测|在云耀云服务器 L 实例上安装 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
拉取 Redis 镜像
这里拉取的是最新的 redis 镜像,用 latest 标识。也可以根据上面输出的 redis 版本进行指定版本的 redis 镜像拉取。
docker pull redis:latest
查看本地所有镜像
当 redis 镜像下载完成后,我们可以通过 images 命令查看本地所有的 docker 镜像。
docker images
运行 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 的服务。
查看运行情况
ps 命令会输出所有的正在运行的 docker 容器
docker ps
进入容器内部,还可以通过 redis-cli 连接测试使用 redis 服务。
docker exec -it redis-test /bin/bash
redis-cli
set name berbai
get name
到此 docker 安装 redis 已经完成啦。
将数据文件映射至宿主机
创建存放 redis 数据的文件夹
mkdir -p ~/i/apps/redis/{conf,data}
下载配置文件
cd ~/i/apps/redis/conf
wget https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf
修改下载的配置文件
sudo vim redis.conf
- 注释 bind 127.0.0.1
- protected-mode yes 修改成 protected-mode no
- 添加 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 参数是强制删除,实际生产环境中请谨慎使用。
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
到此redis容器成功运行,并且使用宿主机的redis配置文件,和外部数据存储能力,删除redis容器后数据仍存在。