什么是<无>存储库和标签? 为什么在我使用docker build的时候出现?

在运行docker build之前,这是docker images显示的内容。

 $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myapp latest a38da0bd9e0b 6 seconds ago 523.8 MB golang onbuild b4997c557048 10 days ago 517.2 MB 

在对myapp源代码进行一些更改之后,我运行docker build -t myapp . 最后我得到了名为<none>图片。

 $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myapp latest a38da0bd9e0b Less than a second ago ago 523.8 MB <none> <none> e4209f97e819 10 minutes ago 523.8 MB golang onbuild b4997c557048 10 days ago 517.2 MB 

我知道我可以用docker rmi <IMAGE ID>删除它们,但是为什么这首先发生? 我怎样才能防止发生? 我正在构build的Dockerfile看起来像这样。

 FROM golang:onbuild EXPOSE 8080 

如果您将标签或图像名称重新分配给其他图像,图像将失去其标签或名称。 这真的很简单。 您的myapp回购图片用ID a38da0bd9e0b标记了latest ,用于在图片ID e4209f97e819上进行命名和标记。