2015-08-12 15 views
8

Ho un repository privato sull'hub docker denominato alek/test. Sul mio Mac:Perché "docker push" spinge diverse immagini e dove?

$ docker images 
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
alek/test   0.1     dc1a7cc41129  33 minutes ago  643 MB 
node    0.12.7    9e20baae42c8  5 days ago   641.6 MB 

$ docker push alek/test 
The push refers to a repository [docker.io/alek/test] (len: 1) 
dc1a7cc41129: Image successfully pushed 
537a913fe639: Image successfully pushed 
b40236e9037f: Image successfully pushed 
53c8b1d50397: Image successfully pushed 
e8c37c1e2189: Image successfully pushed 
68bbfd9543a7: Image successfully pushed 
9e20baae42c8: Image already exists 
8b74d7a75802: Image successfully pushed 
3383909e8f95: Image already exists 
e0919a8b95a8: Image already exists 
6ad0799af6bd: Image successfully pushed 
9213e81cb0f2: Image successfully pushed 
607e965985c1: Image successfully pushed 
1ff9f26f09fb: Image successfully pushed 
9a61b6b1315e: Image already exists 
902b87aaaec9: Image successfully pushed 
0.1: digest: sha256:a2b1d8a3b283f13e8d6a1407e886ca8ee62d93377949e050b9e05509ce6aaf86 size: 30568 

Quello che è appena accaduto ??? Perché sono state spinte diverse immagini? Anche dove sono stati effettivamente spinti - nulla è cambiato nel mio repository privato su docker hub (schermo).

enter image description here

Io non sono sicuro se ho capito bene hub finestra mobile. Quello che voglio è creare un'immagine da Dockerfile e inviarla al mio repository per renderla disponibile a un client per tirarla su un fianco ed eseguire il contenitore ...

+0

Puoi mostrare il contenuto della scheda ** Tag **? Come lo screenshot va, è nella scheda ** Repo Info **. –

+0

Bene ora contiene tag appropriati dopo aver premuto con ': '. Ma prima, dopo aver premuto '' 'part, la scheda" tags "non mostrava nulla ... – user606521

risposta

5

Hai capito bene.

C'è un'immagine per ogni livello nell'immagine, corrispondente a ciascuna istruzione in un Dockerfile. Docker spinge questi livelli in modo indipendente.

Come non è stato specificato un tag, Docker invierà tutti i tag nel repository (in questo caso solo 0.1). Chiunque abbia accesso al proprio repository dovrebbe essere in grado di scaricarlo con docker pull alek/test:0.1. Se guardi la scheda tags sull'hub, dovresti vedere le tue immagini lì.

Se si esegue uno docker push senza un tag, penso che spinga l'intero repo - cioè tutte le immagini. Se si esegue docker run o docker pull senza tag, verrà utilizzato il tag latest. Quindi presumo che il tag 0.1 sia stato inserito nel tuo caso, ma è necessario dire docker pull alek/test:0.1 per estrarlo.

+0

Sembra che aggiungere un tag al comando' docker push alek/test' -> 'docker push alek/test: 0.1' ha funzionato - posso vedere 0.1 tag in repo. Ma cosa è successo prima senza tag? le immagini sono state caricate da qualche parte - sono ancora lì? – user606521

+0

Se non si fornisce un tag, si assume un tag di 'latest'. –

+0

Come puoi vedere nella mia domanda, non ho immagini taggate "ultime". Anche il repository della finestra mobile non ha mostrato alcun tag. Forse è un bug e non dovrebbe caricare nulla se il tag non è stato specificato e non c'è l'immagine taggata "latest"? – user606521

Problemi correlati