针对 Redis 应用的 Docker 镜像,用于提供 Redis 服务。
详细信息可参照:官方说明
版本信息:
镜像信息:
后续相关命令行默认使用
[Docker Hub](https://hub.docker.com)镜像服务器做说明
Docker 快速启动命令:
# 从 Docker Hub 服务器下载镜像并启动
$ docker run -d -e ALLOW_ANONYMOUS_LOGIN=yes --name redis colovu/redis
# 从 Aliyun 服务器下载镜像并启动
$ docker run -d -e ALLOW_ANONYMOUS_LOGIN=yes --name redis registry.cn-shenzhen.aliyuncs.com/colovu/redis
colovu/imgname:<TAG>:镜像名称及版本标签;标签不指定时默认使用latestDocker-Compose 快速启动命令:
# 从 Gitee 下载 Compose 文件
$ curl -sSL -o https://gitee.com/colovu/docker-redis/raw/master/docker-compose.yml
# 从 Github 下载 Compose 文件
$ curl -sSL -o https://raw.githubusercontent.com/colovu/docker-redis/master/docker-compose.yml
# 创建并启动容器
$ docker-compose up -d
Docker-Compose 主从集群快速启动命令:
$ curl -sSL -o https://raw.githubusercontent.com/colovu/docker-redis/master/docker-compose-cluster.yml
$ docker-compose -f docker-compose-cluster.yml up -d
镜像默认提供以下数据卷定义,默认数据分别存储在自动生成的应用名对应redis子目录中:
/srv/data # Redis 数据文件,主要存放Redis持久化数据;自动创建子目录redis
/srv/datalog # Redis 数据操作日志文件;自动创建子目录redis
/srv/conf # Redis 配置文件;自动创建子目录redis
/var/log # 日志文件,日志文件名为:redis.log
/var/run # 进程运行PID文件,PID文件名为:redis_6379.pid、redis_sentinel.pid
如果需要持久化存储相应数据,需要在宿主机建立本地目录,并在使用镜像初始化容器时进行映射。宿主机相关的目录中如果不存在对应应用 Redis 的子目录或相应数据文件,则容器会在初始化时创建相应目录及文件。
在初始化 Redis 容器时,如果没有预置配置文件,可以在命令行中设置相应环境变量对默认参数进行修改。类似命令如下:
$ docker run -d -e "REDIS_AOF_ENABLED=no" colovu/redis
常使用的环境变量主要包括:
REDIS_PASSWORD,则必须设置当前环境变量为 yes如果没有必要,可选配置参数可以不用定义,直接使用对应的默认值,主要包括:
使用 Redis 镜像,可以很容易的建立一个 redis 集群。针对 redis 的集群模式(复制模式),有以下参数可以配置:
master/slave/replicaslave/replica时,对应的 master 主机名或 IP 地址使用证书加密传输时,相关配置参数如下:
当使用 TLS 时,则默认的 non-TLS 通讯被禁用。如果需要同时支持 TLS 与 non-TLS 通讯,可以使用参数REDIS_TLS_PORT配置容器使用不同的 TLS 端口。
Redis 镜像默认禁用了无密码访问功能,在实际生产环境中建议使用用户名及密码控制访问;如果为了测试需要,可以使用以下环境变量启用无密码访问功能:
ALLOW_ANONYMOUS_LOGIN=yes
通过配置环境变量REDIS_PASSWORD,可以启用基于密码的用户认证功能。命令行使用参考:
$ docker run -d -e REDIS_PASSWORD=colovu colovu/redis
使用 Docker-Compose 时,docker-compose.yml应包含类似如下配置:
services:
redis:
...
environment:
- REDIS_PASSWORD=colovu
...
本容器默认使用non-root运行应用,以加强容器的安全性。在使用non-root用户运行容器时,相关的资源访问会受限;应用仅能操作镜像创建时指定的路径及数据。使用non-root方式的容器,更适合在生产环境中使用。
如果需要切换为root方式运行应用,可以在启动命令中增加-u root以指定运行的用户。
本文原始来源 Endial Fang @ Github.com
Content type
Image
Digest
Size
44.4 MB
Last updated
about 5 years ago
docker pull colovu/redis