容器部署
共 203 篇文章
Kubernetes ServiceAccount 显示 0 Secrets:旧的取令牌命令不再适用
Kubernetes 1.24 起新建账户不再默认生成长期 token Secret。区分旧字段命令、TokenRequest 与 Pod 投射令牌,核对身份、期限与实际访问。
Compose Secret 设置 uid、gid、mode 后权限仍未改变
文件型 Compose Secret 使用绑定挂载,不应用 uid、gid、mode 重映射。按来源选择环境变量型 Secret 或专用源文件权限,并核对实际身份、轮换和回退。
Dockerfile 的 RUN source 报 not found:切换构建 shell 后还要保留同一步环境
构建时RUN source报not found,检查Dockerfile默认shell。选择Bash或POSIX点命令,并在同一RUN使用加载的环境。
Kubernetes Job 修改镜像时报 spec.template field is immutable
已有 Job 的容器镜像属于不可原地更新的模板。核对报错路径和旧执行状态,为新版本创建独立 Job,并保留日志、重复执行与回退边界。
Docker 删除镜像时报 image is referenced in multiple repositories
核对同一镜像的多个本地名称,按具体标签解除不再需要的引用,保留其他用途与镜像恢复路径。
CronJob 提示 too many missed start times:区分历史补跑与后续调度
CronJob 出现漏调警告时,区分历史补跑与后续调度,检查控制器版本、启动截止窗口、暂停及并发策略,再核对实际 Job 与业务结果。
Kubernetes Secret 更新报 type: field is immutable:先查同名旧对象
Kubernetes Secret 的 type 更新被拒绝时,先核对同名旧对象和使用者。区分类型不可变与数据不可变,选择新对象并受控迁移引用,保留凭据恢复边界。
Docker 构建镜像时报 repository name must be lowercase
Docker 镜像仓库路径中的字母必须小写,标签则可以包含大写字母。核对 Compose 展开后的 image 值,只修正仓库路径,并保留构建、推送和部署使用的标签一致性。
Docker 构建用 ARG 传短期令牌,依赖安装层每次失去缓存
短期令牌作为构建参数变化,会让依赖安装步骤失去缓存。改用 BuildKit secret 挂载认证文件,并用锁文件和公开版本控制依赖刷新。
卸载 Docker Desktop 后拉取镜像报 docker-credential-desktop 找不到
从 Docker Desktop 切换到 Linux Engine 后,旧凭据助手配置可能导致镜像拉取失败。核对客户端配置路径、助手优先级与 PATH,再迁移到可用存储,避免无意把凭据改存配置文件。
Kubernetes 推送了新 latest,apply 却显示 unchanged:镜像更新没有改变 Pod 模板
仓库覆盖 latest 后 Deployment apply 仍显示 unchanged 时,区分 Pod 模板、容器启动拉取策略和实际镜像,采用可追踪版本发布与回退。
Docker Compose 报 env_file.0 must be a string:旧版本不支持可选环境文件
Compose 在读取 env_file 时提示列表元素必须是字符串,可能是旧解析器不支持 path 和 required。确认实际入口与版本,更新插件,并避免临时路径列表改变可选文件语义。
Dependency-Track 前端启动时报 default.conf: Read-only file system
Dependency-Track 前端启用只读根文件系统后,envsubst 无法生成 default.conf。区分根文件系统与只读挂载,说明允许可写容器层时的调整方法、运行时配置检查,以及严格只读部署的边界。
Docker 配置 CA 后仍 unknown authority:certs.d 目录要匹配仓库地址
curl 指定 CA 正常,Docker 私有仓库仍 unknown authority,核对 daemon 主机、certs.d 的主机端口目录和 .crt 用途,区分 SAN 与链问题。
后端容器未启动,Nginx 报 host not found in upstream
Docker 中一个可选后端没有启动,Nginx 因 host not found in upstream 无法加载配置。适用于开源版 Nginx 1.27.3 及以上版本,通过 resolve、zone 和 resolver 配置运行时解析,并核对网络、请求路径和回退条件。
scratch 镜像设置 USER nobody 后无法启动:镜像里没有用户记录
scratch镜像没有默认账号记录,USER只选择身份。检查数字UID/GID、最小passwd/group映射与目录权限。
docker export/import 后启动报 No command specified
docker export/import 后启动报 No command specified,通常需要核对镜像启动元数据。区分镜像归档与根文件系统归档,恢复 CMD、ENTRYPOINT 及部署配置。
Pod 提示 must specify limits.memory:主容器有配置,也要检查 initContainer
主容器已有内存limit,Pod仍被配额拒绝时,核对实际模板中的initContainer和辅助容器,按命名空间策略补齐资源声明。
Ansible 创建 ConfigMap 报 cannot unmarshal object:JSON 内容仍要是字符串
Ansible 创建 ConfigMap 报 cannot unmarshal object,先核 data 文件值的最终类型,以 JSON 序列化保留字符串,并区分 2.19 模板引擎变化。


