容器部署
共 203 篇文章
Docker Compose 2.24.5 多层 extends 报 Circular reference
Docker Compose 2.24.5 的多层 extends 可能误报循环引用。区分真实引用环与历史版本故障,用 config 校验原入口,并在更新插件后复核完整模型及依赖资源。
Kubernetes apply 报 spec.selector field is immutable:保留已有 Deployment 的选择器
apps/v1 Deployment 更新被 spec.selector 不可变校验拒绝。对照服务器选择器,普通发布保留旧选择范围,需要迁移时安排新对象与流量回退。
CronJob 固定晚八小时:Pod 的 TZ 不会改变控制器调度时区
CronJob 稳定偏差八小时,Pod 的 TZ 无法改变控制器计划。核对 Job 计划时间,Kubernetes 1.27 起在 spec.timeZone 指定时区,保留旧集群与夏令时边界。
网页能打开,Docker 却一直 unhealthy:从检查输出找原因
读取 Health.Log 的退出码与输出,按工具缺失、端口、HTTP 响应、变量展开和超时排查,避免用关闭检查掩盖问题。
Docker exec 使用通配符时报 No such file or directory
Docker exec 用星号列文件时报 No such file or directory,但进入容器后正常。区分宿主机与容器的通配符展开,用 sh -c 处理,并检查无匹配项、隐藏文件和引用范围。
Docker COPY 找不到同目录文件:build 的标准输入只有 Dockerfile
把 Dockerfile 文本重定向给 docker build - 时,没有文件系统上下文。区分上下文参数与 -f -,让 COPY 能读取项目目录。
StatefulSet 设置 restartPolicy: Never 被拒绝:一次性任务需要另选控制器
StatefulSet 拒绝 Never 时,区分长期服务与一次性任务,按 Job 完成和重试规则调整控制器,并保留存储迁移与业务去重条件。
Docker API 内存用量比 docker stats 显示值高
Linux Docker CLI 会扣除特定文件缓存项,API保留原始总量。按客户端版本与 cgroup 对齐公式,保留单位、采样时间和告警阈值边界。
HPA 的 CPU TARGETS 一直 unknown:有使用量,还要有 requests
HPA CPU TARGETS 显示 unknown 时,按 missing request 与指标缺失分开检查,核对实际容器 requests、采集接口及扩缩容行为。
docker ps 按 name=foo 过滤时也选中了 foobar
Docker name 过滤支持部分匹配。已知容器名称时直接检查对象,区分查询失败、对象存在和运行状态,避免把相似名称交给批量操作。
写了 depends_on 仍连不上 PostgreSQL:检查地址、就绪与初始化
区分容器启动、TCP 就绪和初始化完成,解释服务名、健康检查以及官方 PostgreSQL 镜像临时 socket 进程对连接失败的影响。
Docker Compose 报 additional_contexts is not allowed
Compose 在构建前拒绝 additional_contexts 时,核对 2.17.0 的功能门槛、build 字段层级与实际解析器;保留命名上下文,并分别验证配置和镜像构建。
Pod 只写 stdout 也被 Evicted:日志会计入 ephemeral-storage
Pod 只输出日志也可能超过 ephemeral-storage;核对驱逐原因、CRI 日志保留、实际用量与容器预算,再安排采集和容量调整。
Docker 容器退出 0 后没有重启:on-failure 的触发条件
容器配置 on-failure 却停在 Exited (0),检查实际退出状态,按一次性任务或长期服务选择重启策略并保留人工停止语义。
Kubernetes 探针同时写 httpGet 和 exec 被拒绝:选择一个 handler
Kubernetes 同一探针同时配置 httpGet 与 exec 被拒绝时,选择一个 handler,按是否接流量或需要重启组织检查,保留工具和超时前提。
旧 Dockerfile 前端的 ONBUILD COPY --from 找不到阶段产物
继承的 ONBUILD COPY 跨阶段复制需要 Dockerfile 1.11 起的语法支持。核对实际前端、下游阶段定义和产物内容,旧环境可把复制改为普通下游指令。
Docker 端口已被占用:改了 Compose 映射为什么仍报错
从网友修改测试端口后仍冲突的案例出发,检查 Compose 最终映射、其他容器和宿主机占用,并按工具版本选择配置修复办法。


