Docker 安装 Redis 容器

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • [1 获取redis镜像](#1 获取redis镜像)
  • [2 创建和部署redis容器](#2 创建和部署redis容器)
  • [3 查看redis是否启动成功](#3 查看redis是否启动成功)
  • [4 使用Redis客户端验证连接](#4 使用Redis客户端验证连接)
  • 总结

前言

搭建环境:

ubuntu22.04.05

docker

redis: 7.0.10

测试环境:

windows: win11

Redis测试客户端:Tiny RDM


1 获取redis镜像

powershell 复制代码
sudo docker pull redis:7.0.10

这里镜像拉取超时,请移步娶我另一篇文章:从Docker拉取镜像一直失败超时解决办法

2 创建和部署redis容器

复制代码
docker run -d -p 6379:6379 --restart=always \
-v redis_config:/etc/redis/config \
-v redis_data:/data \
--name redis redis:7.0.10 \
redis-server /etc/redis/config/redis.conf

关键参数功能
1. 容器运行模式与网络设置
-d :让容器以守护进程模式在后台运行,不会占用当前终端。
-p 6379:6379 :将宿主机的 6379 端口和容器内部的 6379 端口进行映射,这样外部就能通过宿主机的 6379 端口访问 Redis 服务。
2. 容器重启策略
--restart=always :设置容器的重启策略为始终重启。不管是容器自身出现故障停止运行,还是 Docker 服务重启,亦或是宿主机重启,容器都会自动重新启动,确保 Redis 服务的高可用性。
3. 数据卷挂载情况
-v redis_config:/etc/redis/config :把名为 redis_config 的 Docker 命名卷挂载到容器内的 /etc/redis/config 目录,这个目录主要用于存放 Redis 的配置文件。
-v redis_data:/data :将名为 redis_data 的 Docker 命名卷挂载到容器内的 /data 目录,Redis 的数据文件会存储在这里,实现了数据的持久化存储。
4. 容器标识与基础镜像
--name redis :给容器命名为 redis,方便后续对容器进行管理和操作。
redis :指定使用 Docker Hub 上的官方 Redis 镜像来创建容器。
5. 容器启动命令

redis-server /etc/redis/config/redis.conf:这是容器启动时执行的命令,它会启动 Redis 服务器,并使用挂载的配置卷中的 redis.conf 配置文件来对 Redis 进行配置。
数据持久化与配置机制

  • 配置文件管理:通过挂载 redis_config 卷,你可以在宿主机上对 Redis 的配置文件进行修改,修改后无需重新创建容器,只需重启容器就能让新配置生效。
  • 数据持久化存储:redis_data 卷会保存 Redis 的所有数据。当容器被删除后重新创建,只要不删除这个数据卷,Redis 的数据就不会丢失。

注意要点

  1. 数据卷初始化操作:首次启动容器时,如果 redis_config 卷中没有 redis.conf 文件,Redis 会使用默认配置运行。你可以先不挂载配置卷启动容器,然后把容器内的默认配置文件复制到宿主机,再进行挂载。
  2. 配置文件权限问题:要保证宿主机上挂载的配置文件对容器内的 Redis 进程有可读权限,否则 Redis 可能无法正常启动。
  3. 生产环境参数设置:在生产环境中,建议根据实际需求调整 redis.conf 中的参数,例如设置密码、调整内存策略等。

通过这种方式部署 Redis 容器,能够实现配置与数据的分离,便于后续的维护和升级。

3 查看redis是否启动成功

1、查看docker容易redis的状态

复制代码
sudo docker ps -a

此时状态是Restarting,是有问题的。

2、查看redis日志

复制代码
sudo docker logs -f redis

3、查看数据卷详情

复制代码
sudo docker volume inspect redis_config

4、进入此目录:

复制代码
cd /var/lib/docker/volumes/redis_config/_data

注意:必须切换为root用户

5、创建redis.conf文件

复制代码
touch redis.conf

6、在此文件中,添加以下内容

复制代码
appendonly yes
port 6379	
requirepass 1234
bind 0.0.0.0	

配置好以后,重启redis:

复制代码
docker restart redis

7、再次查看docker的redis容器状态

复制代码
docker ps -a

此时成功

4 使用Redis客户端验证连接

使用的Redis客户端为Tiny RDM,下载地址为:Tiny RDM官网下载

安装完成以后打开:

1、创建连接

2、点击测试连接

3、点击确定,如下

此时,环境已经搭建完成。


总结

以上,就是在ubuntu上面使用docker部署redis的过程。

相关推荐
局外人LZ19 分钟前
Docker轻松搭建Neo4j+APOC环境
docker·容器·neo4j
eternal__day1 小时前
微服务架构下的服务注册与发现:Eureka 深度解析
java·spring cloud·微服务·eureka·架构·maven
泽韦德2 小时前
【Redis】笔记|第9节|Redis Stack扩展功能
数据库·redis·笔记
清风~徐~来3 小时前
【Redis】类型补充
数据库·redis·缓存
代码探秘者3 小时前
【Redis从入门到精通实战文章汇总】
数据库·redis·缓存
weixin_748877003 小时前
【Redis实战:缓存与消息队列的应用】
数据库·redis·缓存
大数据0010 小时前
Docker慢慢学
mysql·docker·kafka·n8n
唐可盐10 小时前
解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
运维·docker·容器
R_AirMan11 小时前
结合源码分析Redis的内存回收和内存淘汰机制,LRU和LFU是如何进行计算的?
redis·lfu·lru·内存回收·内存淘汰
泯泷15 小时前
编写 Dockerfile:从入门到精通
后端·docker·容器