https://docs.docker.com/develop/develop-images/multistage-build/
仓库和标签都是none的镜像应该是你的dockerfile里的镜像。
或许你可以像官网中说的。直接Copy --from 一个已经事先建立好的存在你本地的镜像,这样就不用每次新建一个stage镜像。
我生成的myapi 自动带出了 none 是因为要这样写 myapi:dev
@丿如何是好: 你的 2bfc3d53ela7
的仓库 和标签都是null
docker tag 2bfc3d53ela7 xxxx:xxx
建立镜像的时候
docker build -t xxx:xxx
@Shendu.CC: 这个是我生成 myapi 的时候自动带出来的
@丿如何是好: 那应该是你之前就有过这个 myapi
的镜像,然后你又docker build
了一下,导致上一个的镜像的仓库和标签给重新分配给你新建的镜像使用。
你先把所有的镜像删除干净,再build一下,应该就没有了。
@Shendu.CC: 好
FROM microsoft/dotnet as build-dev
WORKDIR /code
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-dev /code/out ./
EXPOSE 80
ENTRYPOINT [ "dotnet","myapi.dll" ]
@丿如何是好: https://docs.docker.com/develop/develop-images/multistage-build/
仓库和标签都是none的镜像应该是你的dockerfile里的镜像。
或许你可以像官网中说的。直接Copy --from 一个已经事先建立好的存在你本地的镜像,这样就不用每次新建一个stage镜像。
@Shendu.CC: 因为我现在是多层 他是会把我原层的 东西copy到的 创建过的压缩层中
第一层也就是none 这个镜像对吧
@丿如何是好: 是的,应该是第一层镜像。如果这个问题解决不了,可以使用官网中的
Use an external image as a “stage”
来解决。