解决创建Redis容器没有conf配置文件
序言
这篇文章没有什么知识点,只是为了新伙伴少踩点坑
1. 问题重现
创建容器
2. 解读参数
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--ip: 为容器制定一个固定的ip
--net: 指定网络模式
3. 进入容器查看redis.conf文件
发现是并没有redis.conf文件的,那么这个时候就是新手踩坑阶段了,因为没有系统的学习docker所以会花费很多时间
2. 解决问题
没有配置文件这件事呢!那是因为redis容器里边的配置文件是需要在创建容器时映射进来的
那么就需要删除我们之前创建好的容器,在删除前需要先停止容器后才可以删除
停止容器:docker container stop redis-test
删除容器:docker container rm redis-test
1. 开始重新创建redis容器
docker run -itd --name redis-slave -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data --net mynetwork -p 6381:6379 --ip 172.10.0.3 redis
参数解释:
-v /usr/local/redis/redis.conf:/etc/redis.conf:映射配置文件
-v /root/usr/local/redis/data:/data:映射数据目录
那么这个时候就有redis配置文件了
3. 搭建容器并挂载外部配置
上边是在我宿主机有redis的情况下的,那么下来说宿主机没有redis的情况
这里说的映射其实就是挂载外部配置和数据安装
1. 创建docker统一的外部配置文件
mkdir -p docker/redis/
2. 在conf目录创建redis.conf的配置文件
touch /docker/redis/conf/redis.conf
3. redis.conf文件的内容需要自行去下载,网上很多
4. 创建启动容器,加载配置文件并持久化数据
docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server /etc/redis/redis.conf --appendonly yes
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件
-v /docker/redis/data:/data:映射数据目录
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
--appendonly yes:开启数据持久化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律