首页/云/云与容器速查/Dockerfile FROM 基础镜像
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条
容器与 Docker106 条
Kubernetes68 条容器排障33 条

Dockerfile FROM 基础镜像

每个构建阶段的起点,决定系统能力与镜像体积。生产建议固定 tag 或 digest,并按需声明 --platform,避免 latest 漂移导致构建结果不可复现。

云与容器速查云更新于 2026-10-12
语法FROM [--platform=linux/amd64] 镜像[:tag|@digest] [AS 阶段名]
选型alpine 小但 musl;debian-slim 兼容好;distroless 无 shell 更安全
多阶段FROM … AS build,后续 COPY --from=build 取产物
可复现锁 digest(@sha256:…)或至少固定小版本 tag

多阶段构建示例

多阶段构建示例
FROM --platform=$BUILDPLATFORM golang:1.23 AS build
WORKDIR /src
COPY . .
RUN CGO_ENABLED=0 go build -o /out/app .

FROM gcr.io/distroless/static-debian12
COPY --from=build /out/app /app
ENTRYPOINT ["/app"]
首个 FROM 之前声明的 ARG 只能用于 FROM 行本身(如选 tag);要在阶段内用需在阶段里重新 ARG 声明。

易错点

  • 用 FROM image:latest:上游一变构建结果全变,排错从天上掉下来
  • 多阶段里忘了重新声明 ARG:第二阶段读到空值,产物路径/参数错乱

数据来源与参考

  • Docker Docs:Dockerfile reference(FROM)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌