2015-05-12 16 views
16

這是docker images在我運行docker build之前顯示的內容。什麼是<none>存儲庫和標籤?爲什麼在我使用docker build時出現?

$ 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>刪除它們,但爲什麼在第一個地方發生的呢?我怎樣才能防止這種情況發生?我正在建造的Dockerfile看起來像這樣。

FROM golang:onbuild 
EXPOSE 8080 

回答

14

如果您將標籤或圖像名稱重新分配給其他圖像,圖像將失去其標籤或名稱。這真的很簡單。您的myapp回購圖片標籤爲latest,ID爲a38da0bd9e0b,用於在圖片ID e4209f97e819上進行命名和標記。

+1

啊,我明白了。什麼是更新圖像構建的正確方法? – 425nesp

+0

您可以執行諸如「docker tag e4209f97e819 myName/myApp:latest」之類的操作,並且會對其進行標記,但請記住,如果具有相同標記,則可以取消標記其他圖像。 [這裏](https://docs.docker.com/userguide/dockerimages/#setting-tags-on-an-image)是關於標記的更多信息。祝你好運! – L0j1k

+0

看起來好像這個問題也發生在您嘗試用包含大寫字母的東西命名圖像時。例如,我使用docker build -t myname/NewImage:0.1構建了一個圖像。這導致我的圖像有一個回購和標籤。 – lara

相關問題