96SEO 2026-02-20 05:32 13
在前面几节通过docker安装过了nginx、redis和ES会发现通过docker安装运行软件的过程都差不多。

但是在redis章节时有一点区别在使用Docker容器管理时有时候需要对Redis进行配置但是Docker镜像中并没有默认的redis.conf需要手动设置redis.conf文件。
/root/redis/redis.conf:/usr/local/etc/redis/redis.conf
/root/redis/redis.conf:/usr/local/etc/redis/redis.conf就是容器卷挂载
绑定挂载一个卷可以指定多个为一个列表--volume-driver
container(s)光看上面这个解释第一次接触的可能还是比较模糊要说清楚这个问题可以先从传统操作操作系统的的挂载讲起
不知道你有没有过这种经历在linux上面搭建的应用系统服务跑了一段时间之后会发生磁盘被占满了甚至连登录服务器都登录不上而且一般是客户上报的错误开发很慌啊~~。
最后各种排查发现在是日志过大比如nacos默认的系统日志XXL-job的触发日志导致磁盘容量不够这时可能就会让运维背锅
每隔一段时间手动去服务器删除日志文件相关文件或者写个cron任务自动删除日志文件
这种比较暴力的处理方式在不那么草台班子的公司可能不会出现这时运维能力强的公司一般会要求日志必须保留多久或者做备份
对服务器各项指标做监控并配置对应的自动化运维手段对日志备份提前对日志容量做评估配置对应的磁盘容量水位做预留要求开发将日志输出到指定挂载盘上空间足够大
对于传统自建的服务器可以在购买物理机的时候选用磁盘容量比较大的机器这个时候如果硬盘不量不够可以挂载单独的外设硬盘。
随着云计算的发展很多公司上云之后都会购买云主机虚拟机来搭建应用服务这样扩容很方便且在一定规模下降低成本这个命题最近非常火此处不过多讨论持保留很意见这样就出现了NFS还有OSS等网络存储设备。
不管是物理机还是虚拟机的挂载都可以统一称为磁盘挂载用来区分前面提到的docker容器卷挂载。
下图是实际项目使用的一种解决方案
而容器的卷挂载跟磁盘挂载其实原理相似不过容器卷挂载的初衷更多的是由于容器内的存储是易失的不能持久化虽然容器容量也是其中很重要的一个原因。
对此看下官方的解释
----------------------------------------------
-----------------------------------------------------
默认情况下在容器内创建的所有文件都存储在可写容器层上。
这意味着
当容器不存在时数据不会持久存在如果另一个进程需要则很难将数据从容器中取出。
容器的可写层与运行容器的主机紧密耦合。
你不能轻易地将数据移动到其他地方。
写入容器的可写层需要一个存储驱动程序来管理文件系统。
存储驱动程序使用Linux内核提供了一个联合文件系统。
与使用直接写入主机文件系统的数据卷相比这种额外的抽象降低了性能。
Docker为容器在主机上存储文件提供了两个选项这样即使在容器停止后文件也会被持久化卷和绑定装载。
以上面的redis为例docker运行redis镜像时不一定要强行增加-v才行
在宿主机放置一分redis.conf文件将上面的redis.conf文件拷贝到容器中修改容器中的redis.conf文件达到修改redis配置的目的
myredis:/usr/local/etc/redis-conf/redis.conf
后面就可以指定redis.conf文件启动服务了注意这里的redis.conf文件需要跟redis的版本一致不然可能会启动失败
虽然上述方式可以达到跟卷挂载一样的效果但是还是不如挂载来的方便先看一下挂载命令
/root/redis/redis.conf:/usr/local/etc/redis/redis.conf
-v表明进行卷挂载后面接着路径宿主机路径:容器内路径比如/root/redis/redis.conf表示宿主机上面的redis.conf路径/usr/local/etc/redis/redis.conf表示容器内的路径
/root/redis/data:/usr/local/etc/redis/data
从上面磁盘挂载特性在容器内操作文件就跟操作本地一样。
比如在容器内创建一个测试文件test.txt然后在宿主机观察一下
如果要查看刚才redis挂载的卷信息可以通过如下docker命令docker
如果要查看刚才redis挂载的卷信息除了可以通过如下docker命令docker
因为这个是卷挂载自动生成的挂载卷名称也称为匿名挂载。
仔细看的话前面的inspect里面有一项里面的Name也是类似9287eb2555a9b48bb1f91c69489dd806e777aca0b22448d0d718e0c1c4bb7640
9287eb2555a9b48bb1f91c69489dd806e777aca0b22448d0d718e0c1c4bb7640,Source:
/var/lib/docker/volumes/9287eb2555a9b48bb1f91c69489dd806e777aca0b22448d0d718e0c1c4bb7640/_data,Destination:
会发现的确是刚才创建的而匿名卷会默认跟宿主机的/var/lib/docker/volumes/VOLUME
/root/redis/data2:/usr/local/etc/redis/data2
/usr/local/etc/redis/data2,Mode:
109806e8fe95be922b8cb8b6a54bcc7bc664edaaca0cc2803dbb9c41bfce206c,Source:
/var/lib/docker/volumes/109806e8fe95be922b8cb8b6a54bcc7bc664edaaca0cc2803dbb9c41bfce206c/_data,Destination:
但是你会发现这种指定卷名称的创建方式卷的名称不再是一种看不懂的字符串了。
这种方式也叫作具名挂载
my-vol:/usr/local/etc/redis/data
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback