Docker案例分析:搭建Redis服务
使用官方的redis镜像搭建数据库服务,目前的latest版本对应5.0.8版。挂载本地数据目录、配置目录、日志目录,便于数据备份和迁移。
1 创建挂载目录和文件
在宿主机创建配置目录~/docker/redis/conf、数据目录~/docker/redis/data和日志目录~/docker/redis/log,并在配置目录中创建文件~/docker/redis/conf/redis.conf,配置文件内容如下。
logfile /log/redis.log
最终目录结构如下图:
2 拉取redis镜像
使用官方最新版本redis镜像 ,目前为5.0.8版本。
docker pull redis
3 创建容器并启动
挂载本地的配置、数据、日志目录到容器内部。
# --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运行情况。
4 Redis使用
使用本地redis-cli客户端连接redis,并添加key值v=1,执行几次操作后,此时~/docker/redis/data目录下appendonly.aof文件已有相关数据内容。
5 模拟数据迁移效果
如果此时停止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镜像
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341