容器部署
共 203 篇文章
Docker tmpfs 删了 noexec,仍报 Permission denied
删除tmpfs参数里的noexec仍可能保留Docker默认限制。核对Engine选项合并与实际挂载,按批准范围显式配置exec。
Compose 构建正常,Dev Container 的 COPY 找不到文件:核对忽略规则
Dev Container生成扩展Dockerfile后,原专用忽略文件可能不再被选中。对照真实override和context,再审查根规则及镜像输入。
Vault Kubernetes 登录失败:检查 audience 与 TokenReview
Vault Kubernetes 登录失败时,分别检查应用 JWT、reviewer JWT、受众和 TokenReview 权限,核对本地令牌轮换与配置恢复条件。
Compose 共享外部网络后,db 偶尔连到另一个项目
共享外部网络上的db别名可能同时属于两套数据库。对照实际Aliases和IP,改用唯一目标或保留私有网络,并验收数据环境。
NetworkPolicy 已放行 DNS,查询仍超时:检查 namespaceSelector 的标签
namespaceSelector 匹配标签而非对象名称。核对真实 DNS 路径、Namespace 标签和 peer 层级,在必要端口与目标范围内修正出口许可。
两条 NotIn 仍选中被排除节点:检查 nodeSelectorTerms 的 OR
分在不同nodeSelectorTerms的NotIn条件是OR。对照实际模板层级,将需同时成立的条件放同一term,再核对新Pod与合格节点容量。
runAsNonRoot 报 non-numeric user:镜像用户名不足以验证 UID
镜像只提供用户名时,kubelet可能无法验证非root身份。核对容器有效配置和真实UID/GID,保留runAsNonRoot,再验收文件权限。
Docker 开启 userns-remap 后,root 也不能修改挂载文件
容器root无法修改绑定挂载文件时,核对UID/GID重映射与宿主数字权限,在专用目录落实授权,避免关闭隔离或递归放宽。
Docker 进程不多,exec 仍失败:检查线程是否用满 pids_limit
少量进程也可能因大量线程耗尽任务额度。对照cgroup当前值、上限和事件,定位线程来源,再调整并发或受控容量。
Docker CMD 报带方括号的 not found:检查数组是否漏逗号
CMD漏逗号可能被当成shell字符串,导致错误里出现方括号命令名。检查JSON与实际启动字段,保留原入口约定后重建验证。
Pod 环境变量留下 $(DBHOST):检查 env 定义顺序
env值引用只使用处理时已定义的变量。核对真实Pod与最终模板顺序,先定义DBHOST再组合地址,通过新实例验证,保护连接凭据。
Docker Compose 报外部网络不存在
Docker Compose 找不到声明为 external 的网络。核对实际网络名和 Docker Engine,按跨项目共享或项目内部使用选择创建网络、修正引用或交给 Compose 管理,并检查容器接入和业务连接。
Docker 修改日志大小上限后,旧容器的 json-file 日志仍持续增长
Docker 的日志默认值只作用于新建容器。通过 HostConfig.LogConfig 判断旧容器是否缺少大小限制,在保留数据和日志后更新服务配置并重建。
Docker Compose 配置 GPU 后报 devices was unexpected
GPU 镜像能单独运行,Compose 却拒绝 reservations 下的 devices,可能是实际调用了不支持设备请求的旧程序。核对入口、升级插件,再分别验证配置和 GPU 访问。
Kubernetes NodePort 报 provided port is not in the valid range
nodePort 超出集群分配范围会在 API 校验阶段被拒绝。区分三种端口字段,使用自动分配或现有范围内固定值,避免误改集群端口范围。
Service 没有 selector,kubectl port-forward 无法转发
无selector的Service可连接外部端点,但kubectl转发需要Pod目标。核实后端,再选择实际Pod或已有授权数据库连接路径。
Dockerfile 执行 RUN cd 后,下一条 RUN 仍找不到项目文件
RUN cd 成功但后续构建找不到 Makefile 时,核对每条 RUN 的实际目录;选择 WORKDIR 或同一 shell 步骤,检查运行时目录覆盖。
Kubernetes 的 REDIS_PORT 变成 tcp:// 地址,应用无法解析端口
同名 Service 可能注入 REDIS_PORT 的 tcp 地址,与应用整数端口配置冲突。核对来源,显式配置或按依赖条件关闭 Service 链接。


