启动 Redis 服务可以使用源码编译的方式来启动,也可以使用 Docker 容器来启动。
一、如何启动一个 Redis Docker 服务
1.1、搜索镜像
进到 docker hub 官方网站,搜索 redis
1.2、Redis 镜像如何使用
Redis Docker 镜像的使用方式主要可以分为三种
a、快速启动一个 Redis 服务
docker run --name some-redis -d redis
b、启动 Redis 服务,同时挂载逻辑卷,将容器中 Redis 运行产生的数据持久化到宿主机中
docker run --name some-redis -v /docker/host/dir:/data -d redis
c、启动 Redis 服务,挂载逻辑卷存储运行数据,引用外部自定义配置文件
docker run
-v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-v /myredis/data:/data
--name myredis redis redis-server /usr/local/etc/redis/redis.conf
1.3、Redis 镜像选择
Redis Docker 镜像有两种
- `redis:<version>`
镜像的名称通常都是单独一个版本号,或者版本号-buster ,这类 Redis 镜像底层操作系统是 Debian。
- `redis:<version>-alpine`
另一种就是镜像名称带有 alpine 的Redis镜像,alpine 和 debine 一样是一个 Linux 的发行版本
小贴士:
Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox
两种镜像区别
- 镜像构建的底层操作系统不同,一个是 Debian 一个是 Alpine
- 由于底层操作系统不同,Alpine 是一个轻量级的Linux,所以在体积上 由 Alpine 构建的 Redis 镜像更小。
这两种版本我们要如何选择,Docker hub Redis 官方文档给到了说明
- 如果说我们需要基于某个 Redis Docker 镜像构建新的镜像,选择底层操作系统为 Debian 的会更好,
- 在你不知道怎么选的时候,可以直接用 Debian 为操作系统的 Redis 发行版本
- 当你明确,你不需要针对 Redis Docker 镜像进行深度构建,因为 apline 使用的是 musl lib 而不是 glibc 的内库,所以在深度定制上并不那么友好,针对这种情况,可以选择 操作系统为 Alpine 的Redis 镜像版本,并且这个发行版本的镜像体积会更小
二、Docker 启动 Redis 单实例服务演示
2.1、存放目录结构
2.2、拉取镜像
docker pull redis:5.0.9-alpine
2.3、脚本内容
启动脚本
docker run
## 外部配置i文件映射
-v /opt/share/redis_5_0_9/docker/config/redis.conf:/usr/local/etc/redis/redis.conf
## 逻辑卷映射,用来存放 Redis 运行时产生的数据
-v /opt/share/redis_5_0_9/docker/data:/data
## 端口映射
-p 7388:6379
## 容器名称
--name redis-5.0.9
## 后台运行
-d
## 指定镜像
redis:5.0.9-alpine
## 容器启动后,执行 redis-server 脚本,并制定配置文件
redis-server /usr/local/etc/redis/redis.conf
停止脚本
docker stop redis-5.0.9
docker rm redis-5.0.9