分类: 云计算
-
针对 Jenkins 构建镜像时报 Error processing tar file(exit status 1): unexpected EOF 的问题,排查发现是 Dockerfile 中 ADD 命令行数过多导致空间不足。通过移动文件位置并精简 Dockerfile 中的 ADD 行数,解决了该问题。再次构建时首次出现 unknown parent image ID 提示,但第二次构建成功。调整后镜像体积减小了约 829,该类问题也可能源于 Dockerfile 大幅修改,建议多次构建以确保成功。
-
文章记录了将域名从 ccpapi.xxx.cn 迁移至 apiv2.xxx.cn/ccpapi 的操作过程。在 Konga 中创建名为 api_ccp 的 Service 并指向 HTTP 地址,配置路由时修正了 Paths 和 Protocols 字段的提交报错。随后在 Rancher 负载均衡中删除旧域名规则并升级端口映射,最终实现了新域名在外网正常调用,且服务器端接收到的请求符合预期。
-
本文记录了将两个项目的前后端合并至一个镜像与容器的实现流程。通过调整前端与接口的构建目录结构,重命名配置文件并修改 Dockerfile,在 Jenkins 中配置多个 Git 仓库源码管理及镜像构建发布,最终在单一容器内通过端口区分同时部署前后端项目,经验证两者目录结构存在且皆可正常访问,符合预期。
-
针对Navicat连接阿里云RDS MySQL实例失败的问题,文章记录了申请外网地址后遇到的连接超时与访问权限错误处理过程。通过搜索获取当前公网网段并在RDS管理控制台数据安全性中设置白名单分组,解决了连接超时问题;随后将用户名从root修改为其他有效账户,最终成功建立连接并提示外网连接存在安全风险。
-
针对 Kubernetes 环境中容器缺少重启选项导致修改 PHP 文件后不立即生效的问题,文章介绍了一种在 CentOS 中批量终止 PHP 进程的解决流程。通过组合 ps、grep、cut 及 xargs 等命令查找并强制结束 PHP 进程以清除 Zend Opcache 缓存,最终验证页面刷新后内容即时更新,实现了在不重启容器的情况下的代码生效。
-
针对 Yii2 队列扩展 Redis 驱动中 info 命令显示 reserved 状态队列一直存在的问题,在确认系统日志无异常且还原队列作业代码后,虽能短暂恢复正常,但长时间运行后故障依旧。通过排查发现 attempts 选项生效但 reserved 状态仍积压,最终将 Supervisor 配置中的 numprocs 值调整为 2,启动多个 worker 后,该状态队列持续时间大幅缩短至 10 分钟左右,整体队列处理可在半小时内完成,问题得到有效解决。
-
针对阿里云 Redis 报错 Redis error ERR for redis cluster, eval/evalsha number of keys can’t be negative or zero 的问题,经参考开发者文档分析,这是由于云 Redis 集群对 Lua 脚本有限制,调用时必须携带 key,否则会直接返回错误。文章中采用了放弃使用阿里云 Redis 集群的方式使问题得以解决,并指出后续若要支持 Redis 集群,需要在程序层面进行调整。
-
CakePHP v2.6.4 运行中出现 SQLSTATE[HY000] [2002] Connection timed out 报错,经检查发现数据库主机地址配置为内网IP,导致容器无法访问。将该地址调整为外网IP后,打印数据库连接信息确认容器可以正常访问,问题得以解决。
-
针对产品部署时初始化数据的存储需求,文章阐述了在容器启动时将文件复制至 NAS 存储的实现方法。基于 CakePHP v2.6.4 框架,通过新建 Shell 脚本文件,编写了将本地目录下特定日期文件夹中的所有文件同步至挂载 NAS 存储目录的逻辑。操作中利用命令行工具执行同步任务,并配置了容器启动脚本自动运行该命令。最终经日志验证,文件成功复制至指定 NAS 路径,满足了自动化初始化存储的预期。
