容器部署
共 203 篇文章
Docker host 网络报 sysctl not allowed in host network namespace
host网络与容器级net.sysctl冲突,运行时拒绝创建。核对合并配置,按独立网络或宿主参数方案处理,再验收应用通信。
Docker 拉取 HTTP 仓库报 server gave HTTP response to HTTPS client
HTTP仓库的例外需由实际拉取daemon读取。检查context、完整镜像地址和生效配置,区分协议、证书与后续认证错误。
pack build 报 fully subnetted:地址池只能分出一个子网
pack build 创建临时网络报 fully subnetted 时,核对 default-address-pools 的 base 与 size、现有网络和宿主路由,再安排容量调整及回退。
Dockerfile 写入 /etc/hosts 报 Read-only file system
Linux BuildKit 为 RUN 提供受管的只读 hosts 挂载。通过构建参数 add-host 传入名称映射,分别核对构建端点、实际连接和运行时配置。
单节点 Kubernetes Pod 一直 Pending:控制平面污点未被容忍
单节点 Kubernetes Pod Pending 且事件明确指出控制平面污点时,先核对隔离策略,再选择 worker 或限定的 toleration,保留变更与恢复影响。
PostgreSQL 18 挂载 /var/lib/postgresql/data 后启动失败
官方 PostgreSQL 18 镜像改用主版本数据子目录,旧挂载可能报 runc 错误或 unused mount/volume。确认实际卷与数据版本,修正空目录部署,并区分挂载调整和数据库升级。
Docker CMD 收到字面量 ${STACK}:exec 形式不会展开容器环境变量
容器环境变量已经设置,CMD 参数却仍是 ${STACK}。核对入口与参数,使用应用环境配置或包装脚本,保留参数边界及原初始化步骤。
maxSkew 已设为 4,节点 Pod 总数为何仍相差很大
拓扑分布只统计同namespace的匹配Pod。全局节点数量差不能直接证明maxSkew失效;还需核对硬亲和性、存储条件和节点容量。
Docker --mount 路径含逗号,报 unexpected key
路径中的逗号会被Docker挂载参数按CSV拆开。保留整个src字段的双引号,区分shell引用、CSV格式与后续源路径错误。
Docker 已映射端口,UDP 服务仍收不到请求
Docker 的 -p 默认发布 TCP。分别核对 UDP 与 TCP 映射,在原启动或 Compose 配置中明确 /udp,再重建服务并用应用请求验证。
docker cp 从标准输入写文件时报 must be a directory
docker cp 的标准输入接收 tar 归档,目标必须是解包目录。区分普通文件复制与归档流传输,避免把原始文本或归档输出误当作文件内容。
多阶段 Docker 镜像仍含 .git:.dockerignore 不过滤 COPY --from 的阶段产物
构建阶段生成或下载的文件不受本地上下文忽略规则过滤;将发布产物放到独立输出目录,再从该目录复制,检查最终镜像而非运行挂载。
kubectl cp 报 tar not found:文件复制需要容器内的归档工具
kubectl cp 明确报 tar not found 时,核对目标容器和镜像工具,按条件选择镜像更新、单文件字节传输或共享卷,并验证文件内容。
Kubernetes ServiceAccount 仍报 cannot list pods:RoleBinding 可能绑错主体
Kubernetes Role 已允许 list pods,ServiceAccount 仍被拒绝时,核对 RoleBinding 主体类型、完整身份和授权空间,避免无依据扩大权限。
Kubernetes Pod 报 unbound immediate PersistentVolumeClaims:先查 PVC 没有绑定的条件
StatefulSet 因 PVC Pending 无法调度,核对实际声明、静态 PV 匹配和供应器;容量只需足够,不要删卷或清理 claimRef 来碰运气。
Docker 拉取镜像报 no space left on device
镜像解压报 no space left on device,但磁盘仍有余量时,检查实际存储文件系统的 inode,定位占用并清理可重建缓存;迁移前区分 Docker 与 containerd 数据目录。
Docker Compose 升级应用后,旧覆盖文件导致服务缺少 image 或 build
应用升级移除了旧服务,本地 Compose 覆盖文件仍保留它的配置,合并后便可能报缺少 image 或 build。通过分开校验文件定位残留,迁移有效设置,并核对服务清单与数据挂载。
Docker Compose 环境变量含 ${Time.now} 时报 Invalid interpolation format
Compose 把应用需要的 ${Time.now} 当成变量表达式时,使用双美元符号保留原文,并区分 YAML、环境文件和 shell 的解析阶段,验证容器收到的值。
Linux Docker 容器无法解析 host.docker.internal
Linux Docker 容器访问 host.docker.internal 提示无法解析。为现有 Compose 服务添加 host-gateway 映射,重建后分别验证容器 hosts、系统解析与宿主机服务连接,并处理监听地址不匹配。
Docker Git 上下文构建报 /.git not found
Git 上下文默认不保留 .git,忽略规则例外不能恢复它。用预定义参数保留构建所需仓库信息,或明确选择路径上下文,并限制最终产物。


