Come taggare un'immagine docker con docker-compose


119

Voglio creare un'immagine tramite docker-compose e impostare un tag specifico su di essa. La documentazione dice:

Compose lo costruirà e lo taggerà con un nome generato e utilizzerà quell'immagine in seguito.

Ma non riesco a trovare un modo per specificare il tag e per le immagini costruite vedo sempre il tag "latest".


1
github.com/docker/compose/issues/2092 è il supporto per il monitoraggio dei problemi per la creazione dell'immagine con un nome diverso
dnephin

Risposte:


182

Sembra che i documenti / lo strumento siano stati aggiornati e ora puoi aggiungere il imagetag al tuo script. Questo ha avuto successo per me.

Esempio:

version: '2'
services:

  baggins.api.rest:
    image: my.image.name:rc2
    build:
      context: ../..
      dockerfile: app/Docker/Dockerfile.release
    ports:
      ...

https://docs.docker.com/compose/compose-file/#build


7
Infatti, dice "Se specifichi sia l'immagine che la build, Compose assegna un nome all'immagine costruita con la webapp e il tag opzionale specificato nell'immagine"
Daniel Andrei Mincă

10
Che strana interfaccia! La presenza di un campo inverte la semantica di un altro campo che si trova allo stesso livello di rientro.
Navin

@ numbers1311407 Potresti voler modificare / eliminare il tuo commento poiché il commento a cui stai rispondendo è sparito. Sembra che tu non sia d'accordo con ootwch o con la risposta.
Navin

4
Sì, ho trovato questo concetto così strano. Mi aspettavo tagun'opzione. Stavo setacciando i documenti alla ricerca di tag inutilmente
Matthew Brent,

1
@Navin Se questo non è abbastanza strano, prova a inserire image: my.image.name:rc2docker build: .-compose.yml e docker-compose.override.yml e lascia che docker-compose unisca i due! (Ottieni lo stesso effetto della risposta accettata)
Craftonix - AA

23

Risposta originale del 20 novembre 15 :

Nessuna opzione per un tag specifico a partire da oggi. Docker compose fa semplicemente la sua magia e assegna un tag come stai vedendo. Puoi sempre avere qualche chiamata di script docker tag <image> <tag>dopo aver chiamato docker-compose.

Ora c'è un'opzione come descritto sopra o qui

build: ./dir
image: webapp:tag

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.