Docker多階段構建是一種在單個Dockerfile中定義多個構建階段的技術,通過這種方式可以減小鏡像大小并提高構建效率。
實現Docker多階段構建的步驟如下:
# 第一個構建階段
FROM base_image as builder
# 執行構建步驟
# 第二個構建階段
FROM base_image
COPY --from=builder /app /app
# 執行其他構建步驟
在第一個構建階段中生成需要的文件或構建應用程序,并將這些文件復制到第二個構建階段中。
使用–from選項從第一個構建階段中復制文件到第二個構建階段中。
最終構建鏡像時只保留第二個構建階段的結果,可以通過在docker build命令中使用–target選項指定目標階段來完成。
docker build --target builder -t final_image .
通過使用Docker多階段構建可以實現優化鏡像大小和構建效率的目的,建議在需要構建復雜應用程序或鏡像時使用該技術。