分类: PaaS系统/容器
-
本文记录了在 Rancher 环境中解决 NAS 存储挂载失败的过程。起初配置卷映射后,容器日志出现变量未绑定错误且目录挂载不符合预期。通过在调度规则中指定特定主机进行升级,挂载恢复正常。经排查分析,原因是初始调度到的目标主机 lb 上不存在 /webtv 目录,而调整后的主机 wjdev02 上包含该路径,最终确认故障根源在于物理节点存储资源的差异。
-
在 Jenkins 中构建镜像时遇到无法读取远程仓库的错误,虽然 Packagist 镜像地址已切换为阿里云,问题仍未解决。最终通过将 vendor 目录添加至 Git 仓库,并编辑 .gitignore 文件保留该目录,随后修改 Dockerfile 删除与 composer 相关的 4 行命令,再次执行构建后成功解决问题。
-
针对基础镜像中存在且不再需要的空白目录 /sobey,在无法升级基础镜像的情况下,通过在 Dockerfile 中增加 RUN rm -rf /sobey 指令来删除该文件夹。构建过程运行正常,最终验证容器内目录 /sobey 已不存在,达到了预期的清理效果。
-
本文针对 CentOS 7.5 64 位环境下 PHP 7.4 报错“Module ‘zip’ already loaded”的问题进行了分析,通过检查 phpinfo 和 php.ini 确认 zip 扩展已安装。经排查发现 zip 扩展在编译时默认启用,无需在配置文件中再次加载,最终通过在 Dockerfile 中使用 sed 命令删除 php.ini 中的相关配置成功解决了冲突。
-
本文记录了将 /vendor 目录加入 Git 仓库以配合 Docker 部署的排查过程。起初因删除 composer install 导致 Rancher 启动失败,经分析发现 vendor 目录下存在 .git 子目录阻碍了文件提交。通过删除 .git 目录并重新提交,同时使用 composer install –no-dev 优化依赖,最终解决了迁移命令报错问题,并将 Jenkins 构建时间大幅缩短。
-
本文记录了在 Rancher 中通过克隆容器部署集群,并配置负载均衡验证流量分发的过程。针对命令行下 Redis 锁定频率过高的问题,通过调整执行间隔、优化事务同步时间及更新逻辑,成功降低了锁定频率并提升了执行性能。测试结果验证了在不同任务数量下的同步频率平均值符合预期的理论计算公式。
-
文章介绍了在 Yii 2.0 中利用 Docker、Supervisor 及 Redis 锁定机制实现控制台命令集群部署的方法。通过改造 Redis 锁定逻辑,在同步任务前获取锁,结束后释放锁,确保同一租户的同步任务在多台服务器间不重复执行,解决了冗余问题。测试验证了该方案能显著提升任务处理性能与同步即时性,同时给出了同步间隔的计算公式及容器数量建议。
-
针对 Nginx 与 FastCGI 环境下日志表数据量达到 GB 级时,查询最后一页出现 504 Gateway Time-out 超时的问题,通过分析定位了本地环境与生产环境的配置差异。在本地增加 fastcgi_read_timeout 并调整 PHP 脚本最大执行时间后问题解决,但在生产环境中排查发现,由于请求经过 Kong 网关,超时原因出在网关层面而非后端服务,最终确认由运维人员处理网关配置。
-
在基于 Rancher 升级容器时,Yii2 高级模板初始化报错提示 frontend/web/assets 目录不存在。经排查,该目录在源代码中存在,但因容器内的 web 目录已被映射至挂载存储,实际路径指向了存储而非源代码目录导致报错。删除存储上的挂载配置后,再次进行升级和初始化操作,问题成功解决。
