creare più immagini finestra mobile tag


148

In che modo è possibile allegare più tag a un'immagine Docker? È possibile creare più tag usando un Dockerfile ?

È possibile, in qualche modo ; ad esempio docker pull ubuntuotterrà diverse immagini, alcune delle quali hanno più tag:

ubuntu                  13.10               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  saucy               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  raring              eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  13.04               eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  12.10               5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  quantal             5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  10.04               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  lucid               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  12.04               9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  latest              9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  precise             9cd978db300e        2 weeks ago         204.7 MB

Risposte:


79

Non è possibile creare tag con Dockerfile ma è possibile creare più tag sulle immagini tramite la riga di comando.

Usa questo per elencare i tuoi ID immagine:

$ docker images

Quindi tag via:

$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...

4
Il punto principale è in Dockerfile, questi comandi non possono essere scritti in Dockerfile.
Daniel YC Lin,

1
Vedi questa risposta per un modo che eviti di dover capire manualmente l'ID.
Jonathon Reinhart,

439

Dalla versione 1.10 , ora puoi aggiungere più tag contemporaneamente alla build:

docker build -t name1:tag1 -t name1:tag2 -t name2 .

Fonte: aggiungi la possibilità di aggiungere più tag con la finestra mobile


5
Penso che questa sia la risposta più corretta per facilità d'uso in un processo di compilazione
brasskazoo,

Questo non è corretto, poiché il tag ubuntu per versione diversa, il contenuto è diffidente.
Daniel YC Lin,

2
Come faccio a far apparire questi tag nel repository dopo un push? Sfortunatamente, nel repository appare solo quello che uso nel comando push.
Czechnology,

4
Anche alla fine del 2018 Docker è ancora incredibilmente immaturo in questo senso, ogni 'tag' deve ancora essere spinto separatamente nonostante sia attaccato alla stessa immagine. Ciò che è richiesto qui è una funzionalità simile ai tag Git.
Ed Randall,

-8

Come non farlo:

Quando costruisci un'immagine, puoi anche etichettarla in questo modo.

docker build -t ubuntu:14.04 .

Quindi lo ricompili con un altro tag:

docker build -t ubuntu:latest .

Se il Dockerfile fa buon uso della cache, dovrebbe apparire la stessa immagine ed effettivamente fa lo stesso che ricodificare la stessa immagine. Se lo fai docker images, vedrai che hanno lo stesso ID.

Probabilmente c'è un caso in cui questo va storto però ... Ma come ha detto @ david-braun, non è possibile creare tag con Dockerfile stessi, solo con il comando docker.


3
Potrei aggiungere che farlo come @ David Braun è più pulito.
manioca,

14
Non costruire due volte. Vedere questa risposta .
Jonathon Reinhart,

costruire due volte sconfigge la nozione di CI / CD ... la seconda compilazione potrebbe essere la differenza a seconda delle dipendenze ... è tutto nei tempi.
Richard,

4
Con la chiara voce "Come non farlo", questa risposta ora aggiunge qualcosa alla comprensione di come funziona.
Ed Randall,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.