redis
Office Web - Source - Docker Image - Document
redis 是一个开源的高性能键值存储数据库,它将数据存储在内存中以实现快速读写操作,同时支持将数据持久化到磁盘,以防止数据丢失。它支持多种数据结构,如字符串(Strings)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)、哈希表(Hashes)、流(Streams)、HyperLogLogs 以及位图(Bitmaps)等,广泛应用于缓存、消息队列、排行榜等多种场景。
使用
启动 Redis 实例
以最简单的方式启动 Redis:
$ docker run --name some-redis -d redis此命令会以默认配置启动 Redis 容器。
使用本地 Redis 配置文件启动
如果要使用自己的 Redis 配置文件启动容器,可以使用以下命令:
$ docker run --name some-redis -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis redis-server /usr/local/etc/redis/redis.conf注意:由于 Docker 容器默认以
redis用户身份运行,因此确保挂载的配置文件可被redis用户读取非常重要(通常将配置文件权限设为0644即可)。
将持久化数据和配置挂载为主机目录
将 Redis 数据和配置保存在主机上,以便在容器停止或重启后仍能保留:
$ docker run --name some-redis -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /myredis/data:/data -d redis redis-server /usr/local/etc/redis/redis.conf连接到 Redis 容器
从同一主机上的其他容器
$ docker run -it --network some-network --rm redis redis-cli -h some-redis从主机本身
假设你已经将 Redis 容器的端口 6379(默认端口)暴露给主机:
$ docker run --name some-redis -d -p 6379:6379 redis然后可以使用 redis-cli 连接:
$ redis-cli -h localhost注意:官方
redis镜像默认不包含redis-cli,你需要在主机上安装 Redis,或者使用另一个容器来运行redis-cli。例如:
$ docker run -it --network host --rm redis redis-cli -h localhostRedis 配置
Redis 有两种启用持久化的方法:RDB(快照)和 AOF(追加文件)。
对于 RDB,你可以使用 SAVE 或 BGSAVE 命令,也可以在配置文件中使用 save 指令。如果使用 Docker 挂载 /data 目录,Redis 生成的 RDB 文件(如 dump.rdb)将保存在该挂载点中。
对于 AOF,可以在配置文件中设置 appendonly yes,Redis 会将每次写操作追加到 AOF 文件(默认为 appendonly.aof)。
注意:在容器中使用 Redis 持久化时,务必将
/data目录挂载到主机或持久化卷,否则数据会在容器删除时丢失。
Docker Compose 示例
以下是一个简单的 docker-compose.yml 示例:
services:
redis:
image: redis
restart: always
ports:
- "6379:6379"
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
- ./data:/data
command: redis-server /usr/local/etc/redis/redis.conf启动服务:
$ docker-compose up -d