.dockerignore 如何工作,它与 .gitignore 的规则有何差异?
.dockerignore 如何工作,它与 .gitignore 的规则有何差异? 本文先给出可直接复述的结论,再用最小代码说明.dockerignore 语法 排除 构建上下文的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 31 页,收录第 1501–1550 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
.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的工作方式、判断依据、项目边界和常见误区。
如何限制 Docker 容器对磁盘的读写 IOPS 与吞吐量? 本文先给出可直接复述的结论,再用最小代码说明Docker 磁盘 IO 限制 device-read-bps blkio的工作方式、判断依据、项目边界和常见误区。
Docker 容器访问外网与端口映射背后 iptables NAT 规则是如何工作的? 本文先给出可直接复述的结论,再用最小代码说明Docker iptables NAT 端口映射 MASQUERADE的工作方式、判断依据、项目边界和常见误区。
Docker 的 -m/--memory 限制超出时容器进程会发生什么,如何验证? 本文先给出可直接复述的结论,再用最小代码说明Docker 内存限制 OOM killed cgroup的工作方式、判断依据、项目边界和常见误区。
同一宿主机上两个 Docker 容器互相访问的正确做法是什么,为什么不建议直接写死对方 IP? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器互联 同一网络 容器名通信的工作方式、判断依据、项目边界和常见误区。
排查 Docker 容器网络不通时,应该按什么顺序检查哪些配置与命令? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 网络不通 排查 docker network inspect的工作方式、判断依据、项目边界和常见误区。
Docker 的 --cpu-shares 与 --cpus(CFS quota)在 CPU 争抢与空闲时行为有何不同? 本文先给出可直接复述的结论,再用最小代码说明Docker CPU 限制 cpu-shares cpus 区别的工作方式、判断依据、项目边界和常见误区。
如何用 --cpuset-cpus 把 Docker 容器绑定到指定 CPU 核,这解决什么性能问题? 本文先给出可直接复述的结论,再用最小代码说明Docker cpuset-cpus CPU 绑定 亲和性的工作方式、判断依据、项目边界和常见误区。
如何为 Docker 容器自定义 DNS 服务器与搜索域,哪些网络模式下生效? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 --dns --dns-search 自定义 DNS的工作方式、判断依据、项目边界和常见误区。
如何查看 Docker 容器健康检查的历史结果与失败输出,用于定位问题? 本文先给出可直接复述的结论,再用最小代码说明docker inspect 健康状态 Health Log 排查的工作方式、判断依据、项目边界和常见误区。
Dockerfile 的 HEALTHCHECK 指令由哪些参数构成,状态如何流转? 本文先给出可直接复述的结论,再用最小代码说明Docker HEALTHCHECK interval timeout retries 状态的工作方式、判断依据、项目边界和常见误区。
为什么 Docker 健康检查显示 unhealthy 时容器不会自动重启,如何与 restart policy 配合? 本文先给出可直接复述的结论,再用最小代码说明Docker healthcheck unhealthy restart policy 自动恢复的工作方式、判断依据、项目边界和常见误区。
为什么 Docker 的 host 网络模式在 Docker Desktop(Mac/Windows)上行为与 Linux 不同? 本文先给出可直接复述的结论,再用最小代码说明Docker host 网络模式 Mac Windows 不生效的工作方式、判断依据、项目边界和常见误区。
Docker 的 --init 选项解决了 PID 1 不回收僵尸子进程的问题,其原理是什么? 本文先给出可直接复述的结论,再用最小代码说明Docker --init tini 僵尸进程 PID 1的工作方式、判断依据、项目边界和常见误区。
如何为 Docker 容器配置日志轮转(max-size/max-file),全局与单容器配置如何覆盖? 本文先给出可直接复述的结论,再用最小代码说明Docker 日志轮转 max-size max-file log-opts的工作方式、判断依据、项目边界和常见误区。
Docker 日志驱动的 blocking 与 non-blocking 模式在日志洪峰时对应用有什么不同影响? 本文先给出可直接复述的结论,再用最小代码说明Docker 日志 mode non-blocking 丢日志 阻塞的工作方式、判断依据、项目边界和常见误区。
Docker 默认的 json-file 日志驱动有什么特点,为什么不配置会导致磁盘被打满? 本文先给出可直接复述的结论,再用最小代码说明Docker json-file 日志驱动 磁盘 占满的工作方式、判断依据、项目边界和常见误区。
什么场景应把 Docker 日志驱动切换为 fluentd/syslog 等远端驱动,切换后对 docker logs 有什么影响? 本文先给出可直接复述的结论,再用最小代码说明Docker 日志驱动 fluentd syslog docker logs 不可用的工作方式、判断依据、项目边界和常见误区。
使用非本地日志驱动时如何保留 docker logs 能力,Docker 的 dual logging 缓存如何开启? 本文先给出可直接复述的结论,再用最小代码说明Docker dual logging cache 本地缓存 日志驱动的工作方式、判断依据、项目边界和常见误区。