容器部署
共 203 篇文章
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当作解决办法。
Namespace 一直 Terminating:先修复 APIService 发现失败
Namespace 删除一直 Terminating 且发现失败时,按 conditions 定位 APIService 与后端发现路径,区分旧兼容缺陷和当前服务故障,不直接清空 finalizer。
Compose 运行时能读取 Secret,Dockerfile 构建却找不到
区分服务运行时 secrets 与 build.secrets 的授权范围,为构建步骤显式提供 Secret,并验证 ID、后端和实际执行结果。
Docker Compose 设置卷的 name 后,仍报 refers to undefined volume
Docker Compose 的卷已设置 name,却报 refers to undefined volume,常见原因是服务挂载引用了实际卷名,而非顶层 volumes 的配置键。保留固定内部键和动态 name,并核对真实挂载,避免接到新空卷。
docker run --env-file 把值两边的引号传进了容器
Docker CLI 的环境文件保留引号和美元符号。容器读到带引号的路径或凭据时,按实际入口拆分文件格式,并用无敏感值的探针确认。
Secret 设置 0400 却变成 0440,JMX 拒绝密码文件:核对 fsGroup
Secret 密码文件从 0400 变为 0440 时,检查 fsGroup 与实际属主,按 JMX 限制准备应用私有文件,并处理启动失败和密码轮换。
Dockerfile 中多行 shell heredoc 报 unknown instruction
Dockerfile 先解析指令,shell 引号不会把多行配置归入同一个 RUN。使用 BuildKit 的 COPY 或 RUN heredoc,或把静态文件放进构建上下文。
Compose 卷名后加子目录报 undefined volume
命名卷短语法不会把斜杠后的内容当作子目录。核对 Engine 与 Compose 版本,使用 volume.subpath,并在挂载前准备目录、验证卷身份和数据位置。
Compose 2.19 的 run --no-deps 仍报依赖 disabled:核对构建分支回归
Compose 2.19 的一次性任务即使使用 --no-deps,构建分支仍可能报依赖 disabled。核对插件版本、真实 profiles 与 2.20.0 已包含的处理顺序修复。
Docker 串口报 Permission denied:检查设备 GID 与进程附加组
串口已映射但应用 Permission denied,核对设备数字 GID、业务进程附加组和入口身份,通过最小 group-add 与设备映射处理,保留隔离与硬件验收限制。
Docker Compose 扩容时报 container name is already in use
Docker Compose 扩容遇到固定容器名冲突时,核对合并后的 container_name,移除固定名并按服务操作实例,同时检查端口、数据与缩容回退条件。
Docker Compose 使用自定义配置后,logs 报 no configuration file provided
Docker Compose 用自定义文件部署后,logs 找不到配置:显式指定原文件路径,区分文件选项与日志跟随选项,并核对项目名及多文件顺序。
Docker Compose 报 Additional property include is not allowed
Docker Compose 顶层 include 报不允许时,核对实际插件版本与执行入口,区分文件 version 字段,并用配置校验检查引入文件、路径及资源名称。
Docker 本地能构建,Cloud Run 找不到 requirements.txt:检查上传忽略规则
本地 Docker 能构建,Cloud Run 源码构建却找不到 requirements.txt 时,检查 gcloud 上传清单和 .gcloudignore 引入的 Git 忽略规则;用精确例外保留构建文件。
Docker Compose exec 报 the input device is not a TTY
Docker Compose exec 在管道、文件重定向或定时任务中报 the input device is not a TTY。区分伪终端与标准输入,按任务需要使用 -T,并处理通过 stdin 读取 Compose 配置时的交互冲突。
Docker COPY 使用通配符后,符号链接变成普通文件
BuildKit 直接选中的源链接会被解引用。改为复制专用父目录,保留目录内部链接及目标布局,并检查多阶段产物、绝对链接和最终文件类型。
docker cp 报 lstat no such file:文件在家目录,命令却从根目录运行
docker cp 报本地源文件不存在时,先核对 Docker CLI 的当前目录。区分运行期复制与构建上下文,并检查目标路径、覆盖影响和文件内容。


