2015-05-12 5 views
16

Dies ist, was docker images zeigt, bevor ich docker build ausführen.Was sind <none> Repository und Tags? Warum erscheinen sie, wenn ich Docker Build verwende?

$ 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 

Nachdem ich einige Änderungen an der myapp Quellcode machen, betreibe ich docker build -t myapp . und ich mit Bildern am Ende genannt <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 

Ich weiß, dass ich sie mit docker rmi <IMAGE ID> entfernen kann, aber warum die in erster Linie geschieht? Wie kann ich das verhindern? Die Dockerfile ich baue sieht so aus.

FROM golang:onbuild 
EXPOSE 8080 

Antwort

14

Wenn Sie einem anderen Bild einen Tag oder Bildnamen zuweisen, verliert das Bild seinen Namen oder Tag. Es ist wirklich so einfach. Ihr myapp Repo Bild markiert latest mit ID a38da0bd9e0b verwendet, um auf Bild ID e4209f97e819 genannt und getaggt zu werden.

+1

Ah, ich verstehe. Was ist der richtige Weg, um den Image Build zu aktualisieren? – 425nesp

+0

Sie können etwas wie "docker tag e4209f97e819 myName/myApp: latest" tun, und es wird markiert, aber bedenken Sie, dass Sie ein anderes Bild aufheben können, wenn es dasselbe Tag hat. [Here] (https://docs.docker.com/userguide/dockerimages/#setting-tags-on-an-image) enthält weitere Informationen zum Tagging. Viel Glück! – L0j1k

+0

Es scheint, als ob dieses Problem auch auftritt, wenn Sie versuchen, Ihr Bild mit etwas zu benennen, das einen Großbuchstaben enthält. Zum Beispiel habe ich ein Bild mit Docker build -t meinName/NewImage: 0.1. und dies führte zu meinem Bild mit einem Repo und Tag . – lara

Verwandte Themen