Dockerfile 中 ADD 和 COPY 的区别是什么,为什么官方推荐优先用 COPY?
Dockerfile 中 ADD 和 COPY 的区别是什么,为什么官方推荐优先用 COPY? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile ADD COPY 区别的工作方式、判断依据、项目边界和常见误区。
Docker · 容器化面试题第 1 页,显示第 1–50 题,共找到 95 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
Dockerfile 中 ADD 和 COPY 的区别是什么,为什么官方推荐优先用 COPY? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile ADD COPY 区别的工作方式、判断依据、项目边界和常见误区。
为什么基于 Alpine 的镜像在 DNS 解析或本地化上可能出现与 glibc 镜像不同的行为? 本文先给出可直接复述的结论,再用最小代码说明Alpine musl glibc 差异 Docker的工作方式、判断依据、项目边界和常见误区。
Docker 构建参数 ARG 与环境变量 ENV 在何时可见、如何影响镜像? 本文先给出可直接复述的结论,再用最小代码说明Docker ARG ENV 区别的工作方式、判断依据、项目边界和常见误区。
docker buildx bake 如何用一份声明式文件编排多个相关镜像的构建? 本文先给出可直接复述的结论,再用最小代码说明docker buildx bake 多目标 构建的工作方式、判断依据、项目边界和常见误区。
Dockerfile 中 ARG 的作用域规则是什么,为什么 FROM 之前的 ARG 要重新声明? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile ARG 作用域 FROM 之前的工作方式、判断依据、项目边界和常见误区。
本文解释 Docker 构建缓存按层匹配的具体逻辑:缓存键组成、复用条件与失效传播链,并以依赖清单与源码分离的 COPY 顺序为例说明实践,同时指出忽略 .dockerignore 或合并 COPY 带来的缓存失效扩大及代价。
Docker 构建上下文是什么,为什么上下文过大会让构建变慢? 本文先给出可直接复述的结论,再用最小代码说明Docker 构建上下文 build context的工作方式、判断依据、项目边界和常见误区。
BuildKit 如何自动并行执行互不依赖的 Dockerfile 构建步骤? 本文先给出可直接复述的结论,再用最小代码说明BuildKit 并行构建 依赖图的工作方式、判断依据、项目边界和常见误区。
docker buildx create 创建远程或容器化 builder 实例解决什么问题? 本文先给出可直接复述的结论,再用最小代码说明docker buildx create builder 驱动的工作方式、判断依据、项目边界和常见误区。
Docker 构建的 registry、local、gha 等缓存后端各有什么取舍? 本文先给出可直接复述的结论,再用最小代码说明Docker 构建缓存后端 registry local gha的工作方式、判断依据、项目边界和常见误区。
为什么 Dockerfile 里应先 COPY 依赖清单再 COPY 源码才能利用好构建缓存? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile COPY 顺序 缓存 依赖的工作方式、判断依据、项目边界和常见误区。
BuildKit 的 RUN --mount=type=cache 如何解决包管理器缓存反复下载的问题? 本文先给出可直接复述的结论,再用最小代码说明BuildKit cache mount 构建缓存 apt npm的工作方式、判断依据、项目边界和常见误区。
如何用 --cache-to 和 --cache-from 在 CI 之间共享 Docker 构建缓存? 本文先给出可直接复述的结论,再用最小代码说明Docker registry cache cache-to cache-from的工作方式、判断依据、项目边界和常见误区。
Dockerfile 的 COPY --from 能否引用外部镜像,它和引用构建阶段有什么区别? 本文先给出可直接复述的结论,再用最小代码说明COPY --from 镜像 构建阶段 区别的工作方式、判断依据、项目边界和常见误区。
Docker 中的 dangling(<none>)镜像如何产生,如何安全清理? 本文先给出可直接复述的结论,再用最小代码说明Docker dangling 镜像 <none> 清理的工作方式、判断依据、项目边界和常见误区。
Docker 构建中途失败时,如何利用中间层镜像进入现场排查问题? 本文先给出可直接复述的结论,再用最小代码说明Docker 构建失败 调试 中间层的工作方式、判断依据、项目边界和常见误区。
如何分析一个已有镜像每层的大小与内容,定位体积浪费在哪一层? 本文先给出可直接复述的结论,再用最小代码说明Docker 镜像分层体积分析 docker history 与 dive的工作方式、判断依据、项目边界和常见误区。
Dockerfile 中哪些指令会产生新的镜像层,这对构建设计意味着什么? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile 指令 镜像层 RUN COPY的工作方式、判断依据、项目边界和常见误区。
.dockerignore 如何工作,它与 .gitignore 的规则有何差异? 本文先给出可直接复述的结论,再用最小代码说明.dockerignore 语法 排除 构建上下文的工作方式、判断依据、项目边界和常见误区。
ENTRYPOINT 与 CMD 在镜像启动时如何组合,如何设计可覆盖的默认行为? 本文先给出可直接复述的结论,再用最小代码说明ENTRYPOINT CMD 组合 覆盖的工作方式、判断依据、项目边界和常见误区。
docker buildx build --output 有哪些输出类型,何时导出 OCI tarball 而非推送镜像? 本文先给出可直接复述的结论,再用最小代码说明docker buildx --output oci tar 导出的工作方式、判断依据、项目边界和常见误区。
直接用 Git 仓库 URL 作为 Docker 构建上下文时构建器做了什么? 本文先给出可直接复述的结论,再用最小代码说明docker build git URL 上下文的工作方式、判断依据、项目边界和常见误区。
在 Dockerfile 中定义 HEALTHCHECK 会怎样影响镜像与容器运行状态? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile HEALTHCHECK 镜像的工作方式、判断依据、项目边界和常见误区。
BuildKit 支持的 Dockerfile heredoc 语法解决了哪些写法痛点? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile heredoc BuildKit 语法的工作方式、判断依据、项目边界和常见误区。
Docker 镜像为什么由层构成,层之间的共享与只读特性如何工作? 本文先给出可直接复述的结论,再用最小代码说明Docker 镜像层 只读层 共享的工作方式、判断依据、项目边界和常见误区。
系统性地减小 Docker 镜像体积有哪些互不相同的手段? 本文先给出可直接复述的结论,再用最小代码说明Docker 镜像体积 减小 优化的工作方式、判断依据、项目边界和常见误区。
Docker 镜像 tag 与 digest 的关系是什么,latest 到底意味着什么? 本文先给出可直接复述的结论,再用最小代码说明Docker tag digest latest 含义的工作方式、判断依据、项目边界和常见误区。
如何用 docker buildx build --platform 一次构建多架构镜像? 本文先给出可直接复述的结论,再用最小代码说明docker buildx --platform 多架构镜像的工作方式、判断依据、项目边界和常见误区。
Docker 多阶段构建解决了什么问题,最终镜像包含哪些阶段的内容? 本文先给出可直接复述的结论,再用最小代码说明Docker 多阶段构建 原理的工作方式、判断依据、项目边界和常见误区。
如何用 --target 构建多阶段 Dockerfile 的中间阶段,这在 CI 中有什么用途? 本文先给出可直接复述的结论,再用最小代码说明docker build --target 多阶段 CI的工作方式、判断依据、项目边界和常见误区。
构建步骤需要访问网络时,--network 与构建隔离的默认值是什么,何时要改? 本文先给出可直接复述的结论,再用最小代码说明docker build --network 构建网络的工作方式、判断依据、项目边界和常见误区。
Docker 镜像遵循的 OCI image-spec 定义了哪几部分,digest 如何计算? 本文先给出可直接复述的结论,再用最小代码说明OCI image-spec manifest config digest的工作方式、判断依据、项目边界和常见误区。
Docker 容器写文件时 OverlayFS 的写时复制(copy-on-write)会发生什么? 本文先给出可直接复述的结论,再用最小代码说明Docker OverlayFS copy-on-write 原理的工作方式、判断依据、项目边界和常见误区。
为什么用 image@sha256 摘要固定基础镜像比 tag 更可靠,代价是什么? 本文先给出可直接复述的结论,再用最小代码说明Docker 镜像 digest pin 基础镜像的工作方式、判断依据、项目边界和常见误区。
Docker 构建中 BUILDPLATFORM、TARGETPLATFORM 等预定义 ARG 有什么用? 本文先给出可直接复述的结论,再用最小代码说明Docker TARGETPLATFORM BUILDPLATFORM 预定义参数的工作方式、判断依据、项目边界和常见误区。
BuildKit 构建时附加的 provenance 与 SBOM attestation 包含什么、如何验证? 本文先给出可直接复述的结论,再用最小代码说明Docker buildx provenance SBOM attestation的工作方式、判断依据、项目边界和常见误区。
跨架构构建时 QEMU 模拟何时被触发,对构建速度有何影响? 本文先给出可直接复述的结论,再用最小代码说明Docker buildx QEMU 交叉构建 性能的工作方式、判断依据、项目边界和常见误区。
为什么对远程 Dockerfile(如 stdin 或 URL)执行构建需要警惕恶意指令? 本文先给出可直接复述的结论,再用最小代码说明Docker 远程 Dockerfile 构建安全的工作方式、判断依据、项目边界和常见误区。
要让 Docker 镜像可重复构建,需要固定哪些可变来源? 本文先给出可直接复述的结论,再用最小代码说明Docker 可重复构建 固定版本 digest的工作方式、判断依据、项目边界和常见误区。
为什么 RUN apt-get update && apt-get install 必须写在同一条指令里? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile apt-get update install 同层 缓存的工作方式、判断依据、项目边界和常见误区。
什么样的程序适合用 FROM scratch 构建镜像,静态编译要满足什么条件? 本文先给出可直接复述的结论,再用最小代码说明Docker FROM scratch 静态编译的工作方式、判断依据、项目边界和常见误区。
为什么构建期私密信息应使用 RUN --mount=type=secret 而不是 ARG? 本文先给出可直接复述的结论,再用最小代码说明Docker 构建 secret ARG 泄露的工作方式、判断依据、项目边界和常见误区。
Dockerfile 中 CMD/ENTRYPOINT 的 shell 形式与 exec 形式对信号处理有何影响? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile CMD ENTRYPOINT shell exec 信号的工作方式、判断依据、项目边界和常见误区。
选择 alpine、debian slim 或 distroless 基础镜像分别要接受什么取舍? 本文先给出可直接复述的结论,再用最小代码说明alpine slim distroless 基础镜像 选择的工作方式、判断依据、项目边界和常见误区。
构建时间戳写进镜像层为什么会破坏可重复构建,如何规避? 本文先给出可直接复述的结论,再用最小代码说明Docker 镜像 时间戳 可重复构建的工作方式、判断依据、项目边界和常见误区。
Docker 构建中如何用 RUN --mount=type=ssh 拉取私有 Git 依赖? 本文先给出可直接复述的结论,再用最小代码说明BuildKit ssh mount 私有仓库 构建的工作方式、判断依据、项目边界和常见误区。
Dockerfile 首行的 # syntax= 指令声明了什么,为什么影响可用特性? 本文先给出可直接复述的结论,再用最小代码说明Dockerfile syntax directive 前端版本的工作方式、判断依据、项目边界和常见误区。
RUN --mount=type=bind 与 type=tmpfs 在 Dockerfile 构建中各自适合什么? 本文先给出可直接复述的结论,再用最小代码说明BuildKit bind tmpfs mount 区别的工作方式、判断依据、项目边界和常见误区。
BuildKit 相比旧版 Docker 构建器有哪些核心改进? 本文先给出可直接复述的结论,再用最小代码说明Docker BuildKit 旧构建器 区别的工作方式、判断依据、项目边界和常见误区。
Docker bind mount 的挂载传播(rshared/rslave 等)在什么场景下必须配置? 本文先给出可直接复述的结论,再用最小代码说明Docker mount propagation 挂载传播 bind的工作方式、判断依据、项目边界和常见误区。