gpt4 book ai didi

docker - 如何从 Docker 多阶段构建的前一阶段删除图像

转载 作者:行者123 更新时间:2023-12-04 23:37:05 25 4
gpt4 key购买 nike

这是我的 Dockerfile

FROM microsoft/aspnetcore-build as build-stage
ARG source=.
WORKDIR /app
COPY $source/sample-api.csproj .
RUN dotnet restore
COPY $source .
RUN dotnet publish -o /publish

FROM microsoft/aspnetcore
WORKDIR /sample-api
COPY --from=build-stage /publish .
EXPOSE 3000
ENTRYPOINT dotnet sample-api.dll

这将创建 2 个图像
REPOSITORY     TAG          IMAGE ID
sample-api latest
<none> <none>

是否可以删除第一阶段图像 <none>从第二阶段开始?执行第二阶段的 COPY 后就不需要了 COPY --from=build-stage /publish .

最佳答案

这种 Docker 行为是故意存在的,它保留此图像用于缓存目的 - 下次触发构建时。
目前没有选项可以在构建时删除它。
摆脱此图像的唯一选择是手动删除它。多种可能性之一:

$ docker image prune
后执行。此命令删除所有悬空图像 - 包括您提到的图像。
ticket ref

关于docker - 如何从 Docker 多阶段构建的前一阶段删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com