分类: Docker
-
本文针对 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 目录已被映射至挂载存储,实际路径指向了存储而非源代码目录导致报错。删除存储上的挂载配置后,再次进行升级和初始化操作,问题成功解决。
-
文章介绍了基于 Supervisor 和 bash sleep 实现 Docker 部署中类 crontab 任务以降低内存占用的过程。通过编辑配置文件调整脚本执行间隔,并在测试环境检测运行状态与异常处理情况。实验发现将 sleep 时间控制在合理范围并调整 startsecs 参数可有效降低内存,最终在两个产品环境中验证了该方法能显著减少 Docker 容器的内存占用并符合预期。
-
本文针对基于 Yii 2.0 的 Supervisor 命令行脚本在持续运行期间占用内存过高的问题进行了分析与解决。通过监控 Docker 容器资源,定位了 Redis AR 模型查询和高频执行导致的内存增长。优化措施包括使用 unset() 释放变量、利用 asArray() 获取数组形式结果、修复 HTTP 客户端 400 错误以及引入同步标识控制执行频率。最终测试表明,调整查询方式和执行策略有效降低了内存占用,证明了优化方案的可行性。
-
在 Docker 部署过程中将目录名从 sobey 修改为 mcloud 时,Jenkins 构建镜像报错 composer install 返回非零代码。排查 Dockerfile 后发现是执行批量替换操作导致,将目录中的 mcloud 还原为 sobey,仅替换指定的几处后,构建镜像最终成功,问题得以解决。
