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.