时间:2022-09-25 10:11:16 | 栏目: | 点击:次
使用官方的redis镜像搭建数据库服务,目前的latest版本对应5.0.8版。挂载本地数据目录、配置目录、日志目录,便于数据备份和迁移。
在宿主机创建配置目录~/docker/redis/conf、数据目录~/docker/redis/data和日志目录~/docker/redis/log,并在配置目录中创建文件~/docker/redis/conf/redis.conf,配置文件内容如下。
logfile /log/redis.log
最终目录结构如下图:


使用官方最新版本redis镜像 ,目前为5.0.8版本。
docker pull redis
挂载本地的配置、数据、日志目录到容器内部。
# --name redis 容器名称为redis # -p 6379:6379 绑定本机6379端口到容器的6379端口(redis服务端口) # -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf 挂载本地配置文件 # -v ~/docker/redis/log/:/log/ 挂载本地日志目录 # -v ~/docker/redis/data:/data 挂载数据文件 # -d 后台运行 # redis-server /usr/local/etc/redis/redis.conf --appendonly yes 使用自定义的配置文件,并启用磁盘数据持久化 docker run --name redis -p 6379:6379 -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
容器启动后可通过本地的~/docker/redis/log/redis.log,查看redis运行情况。

使用本地redis-cli客户端连接redis,并添加key值v=1,执行几次操作后,此时~/docker/redis/data目录下appendonly.aof文件已有相关数据内容。


如果此时停止redis容器,再启动一个新的redis容器挂载相同的目录,则新的容器中的redis已经包含上一个容器中的数据。
docker run --name redis1 -p 6379:6379 -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

如需更多自定义配置,可在本地~/docker/redis/conf/redis.conf文件中添加
参考 官方redis镜像