Comment étiqueter une image docker avec docker-compose


119

Je souhaite créer une image via docker-compose et lui définir une balise spécifique. La documentation dit:

Compose le construira et le marquera avec un nom généré, et utilisera cette image par la suite.

Mais je ne trouve pas de moyen de spécifier la balise et pour les images construites, je vois toujours la balise «la plus récente».


1
github.com/docker/compose/issues/2092 est le support de suivi des problèmes pour créer l'image avec un nom différent
dnephin

Réponses:


182

Il semble que la documentation / l'outil a été mis à jour et vous pouvez maintenant ajouter la imagebalise à votre script. Cela a réussi pour moi.

Exemple:

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
En effet, il dit: "Si vous spécifiez l'image ainsi que la construction, Compose nomme l'image construite avec l'application web et la balise facultative spécifiée dans l'image"
Daniel Andrei Mincă

10
Quelle étrange interface! La présence d'un champ inverse la sémantique d'un autre champ qui se trouve au même niveau d'indentation.
Navin

@ numbers1311407 Vous voudrez peut-être modifier / supprimer votre commentaire car le commentaire auquel vous répondez a disparu. Il semble que vous soyez en désaccord avec ootwch ou la réponse.
Navin

4
Ouais, j'ai trouvé ce concept si étrange. Je m'attendais à une tagoption. Je parcourais les documents à la recherche d'une étiquette en vain
Matthew Brent

1
@Navin Si ce n'est pas assez étrange, essayez de mettre image: my.image.name:rc2docker-compose.yml et build: .docker-compose.override.yml et laissez docker-compose fusionner les deux! (Vous obtenez le même effet que la réponse acceptée)
Craftonix - AA

23

Réponse originale 20 nov. :

Aucune option pour une balise spécifique à partir d'aujourd'hui. Docker compose fait juste sa magie et attribue une balise comme vous le voyez. Vous pouvez toujours avoir un appel de script docker tag <image> <tag>après avoir appelé docker-compose.

Maintenant, il y a une option comme décrit ci-dessus ou ici

build: ./dir
image: webapp:tag

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.