首页 新闻 会员 周边 捐助

docker build

0
[已解决问题] 解决于 2019-03-26 16:30

docker build 每次都生成成功时 外带一个 <none> 的镜像是什么问题。

丿如何是好的主页 丿如何是好 | 菜鸟二级 | 园豆:213
提问于:2019-03-18 14:46
< >
分享
最佳答案
0

https://docs.docker.com/develop/develop-images/multistage-build/
仓库和标签都是none的镜像应该是你的dockerfile里的镜像。
或许你可以像官网中说的。直接Copy --from 一个已经事先建立好的存在你本地的镜像,这样就不用每次新建一个stage镜像。

奖励园豆:5
Shendu.CC | 老鸟四级 |园豆:2138 | 2019-03-18 15:10

我生成的myapi 自动带出了 none 是因为要这样写 myapi:dev

丿如何是好 | 园豆:213 (菜鸟二级) | 2019-03-18 15:13

@丿如何是好: 你的 2bfc3d53ela7的仓库 和标签都是null

docker tag 2bfc3d53ela7 xxxx:xxx

建立镜像的时候

docker build -t xxx:xxx
Shendu.CC | 园豆:2138 (老鸟四级) | 2019-03-18 15:17

@Shendu.CC: 这个是我生成 myapi 的时候自动带出来的

丿如何是好 | 园豆:213 (菜鸟二级) | 2019-03-18 15:19

@丿如何是好: 那应该是你之前就有过这个 myapi的镜像,然后你又docker build了一下,导致上一个的镜像的仓库和标签给重新分配给你新建的镜像使用。

你先把所有的镜像删除干净,再build一下,应该就没有了。

Shendu.CC | 园豆:2138 (老鸟四级) | 2019-03-18 15:23

@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" ]

丿如何是好 | 园豆:213 (菜鸟二级) | 2019-03-18 15:28

@丿如何是好: https://docs.docker.com/develop/develop-images/multistage-build/

仓库和标签都是none的镜像应该是你的dockerfile里的镜像。

或许你可以像官网中说的。直接Copy --from 一个已经事先建立好的存在你本地的镜像,这样就不用每次新建一个stage镜像。

Shendu.CC | 园豆:2138 (老鸟四级) | 2019-03-18 15:48

@Shendu.CC: 因为我现在是多层 他是会把我原层的 东西copy到的 创建过的压缩层中
第一层也就是none 这个镜像对吧

丿如何是好 | 园豆:213 (菜鸟二级) | 2019-03-19 13:25

@丿如何是好: 是的,应该是第一层镜像。如果这个问题解决不了,可以使用官网中的

Use an external image as a “stage”

来解决。

Shendu.CC | 园豆:2138 (老鸟四级) | 2019-03-19 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册