什么是<;无>;存储库和标签?为什么在我使用docker build时会出现它们?
这是在运行什么是<;无>;存储库和标签?为什么在我使用docker build时会出现它们?,docker,Docker,这是在运行docker build之前,docker images显示的内容 $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myapp latest a38da0bd9e0b 6 seconds ago 523.8 MB golang
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.
,最后得到了名为
的图像
$ 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
如果将标记或图像名称重新指定给其他图像,则图像将丢失其标记或名称。就这么简单。您的
myapp
repo图像使用IDa38da0bd9e0b
标记为latest
,您可以执行类似于docker tag e4209f97e819 myName/myapp:latest
的操作,并且它将被标记,但请记住,如果另一个图像具有相同的标记,您可以取消标记。有关标记的详细信息。祝你好运当您试图用包含大写字母的内容命名图像时,似乎也会出现此问题。例如,我使用docker build-t myname/NewImage:0.1构建了一个映像。这导致我的图像具有repo和标记。您多次使用docker build-t myname/NewImage:0.1创建图像。
。第一次这样做时,它会创建一个标记为myname/NewImage:0.1
的图像。第二次执行此操作时,它将创建一个新图像,该图像将获得myname/NewImage:0.1
标记,使您构建的第一个图像具有
标记。要删除这些图像,您需要删除具有正确repo和标记的最新图像。是吗?有没有一种方法可以在用新图像重建后自动删除以前创建的图像?
FROM golang:onbuild
EXPOSE 8080