#Docker
共 146 篇文章
Docker Compose 2.24.5 多层 extends 报 Circular reference
Docker Compose 2.24.5 的多层 extends 可能误报循环引用。区分真实引用环与历史版本故障,用 config 校验原入口,并在更新插件后复核完整模型及依赖资源。
Nginx 容器反向代理出现 502:localhost 指向了哪里
宿主机能访问后端,Nginx 容器却返回 502?结合网友的 Nextcloud 案例,区分宿主机与容器 localhost,核对内部端口和共同网络。
网页能打开,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 能读取项目目录。
Docker API 内存用量比 docker stats 显示值高
Linux Docker CLI 会扣除特定文件缓存项,API保留原始总量。按客户端版本与 cgroup 对齐公式,保留单位、采样时间和告警阈值边界。
docker ps 按 name=foo 过滤时也选中了 foobar
Docker name 过滤支持部分匹配。已知容器名称时直接检查对象,区分查询失败、对象存在和运行状态,避免把相似名称交给批量操作。
Docker Compose 报 additional_contexts is not allowed
Compose 在构建前拒绝 additional_contexts 时,核对 2.17.0 的功能门槛、build 字段层级与实际解析器;保留命名上下文,并分别验证配置和镜像构建。
Docker 容器退出 0 后没有重启:on-failure 的触发条件
容器配置 on-failure 却停在 Exited (0),检查实际退出状态,按一次性任务或长期服务选择重启策略并保留人工停止语义。
旧 Dockerfile 前端的 ONBUILD COPY --from 找不到阶段产物
继承的 ONBUILD COPY 跨阶段复制需要 Dockerfile 1.11 起的语法支持。核对实际前端、下游阶段定义和产物内容,旧环境可把复制改为普通下游指令。
Docker 端口已被占用:改了 Compose 映射为什么仍报错
从网友修改测试端口后仍冲突的案例出发,检查 Compose 最终映射、其他容器和宿主机占用,并按工具版本选择配置修复办法。
Docker COPY 多个文件时报 destination must be a directory
COPY 显式多源或通配符匹配多个文件,并报目标不是目录时,可将目标明确写成以斜杠结尾的路径。区分构建上下文与 WORKDIR,核对锁文件、单文件重命名和最终镜像路径。
Docker Buildx 构建成功,docker image ls 却找不到镜像
docker-container 构建器未导出结果时,镜像只留在构建缓存。区分本地 --load、仓库 --push 与自动加载配置,并检查平台和镜像存储条件。
ECS 已配 tmpfs,Nginx 仍报 client_temp 只读文件系统
ECS 的 tmpfs 必须位于目标容器的 linuxParameters 中,并使用正确的数组与字段类型。核对实际任务修订,修复挂载结构,保留只读根文件系统。
Docker 构建停在 Geographic area:apt-get -y 没有关闭 tzdata 的配置询问
定位Ubuntu/Debian镜像构建中的时区询问,正确设置非交互安装范围,避免把apt-get -y或拆分RUN当作解决办法。
Compose 运行时能读取 Secret,Dockerfile 构建却找不到
区分服务运行时 secrets 与 build.secrets 的授权范围,为构建步骤显式提供 Secret,并验证 ID、后端和实际执行结果。
Docker Compose 设置卷的 name 后,仍报 refers to undefined volume
Docker Compose 的卷已设置 name,却报 refers to undefined volume,常见原因是服务挂载引用了实际卷名,而非顶层 volumes 的配置键。保留固定内部键和动态 name,并核对真实挂载,避免接到新空卷。


