Cómo etiquetar la imagen de la ventana acoplable con docker-compose

119

Quiero crear una imagen a través de docker-compose y establecerle una etiqueta específica. La documentación dice:

Compose lo creará y etiquetará con un nombre generado, y usará esa imagen a partir de entonces.

Pero no puedo encontrar una manera de especificar la etiqueta y para las imágenes creadas siempre veo la etiqueta 'más reciente'.

4ybaka
fuente
1
github.com/docker/compose/issues/2092 es el soporte de seguimiento de problemas para crear la imagen con un nombre diferente
dnephin

Respuestas:

182

Parece que los documentos / herramienta se han actualizado y ahora puede agregar la imageetiqueta a su secuencia de comandos. Esto fue un éxito para mí.

Ejemplo:

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

Randy Larson
fuente
7
De hecho, dice "Si especificas la imagen además de la compilación, entonces Redactar nombra la imagen compilada con la aplicación web y la etiqueta opcional especificadas en la imagen"
Daniel Andrei Mincă
10
¡Qué interfaz tan extraña! La presencia de un campo invierte la semántica de otro campo que está en el mismo nivel de sangría.
Navin
@ numbers1311407 Es posible que desee editar / eliminar su comentario, ya que el comentario al que está respondiendo ha desaparecido. Parece que no está de acuerdo con ootwch o con la respuesta.
Navin
4
Sí, encontré este concepto tan extraño. Esperaba una tagopción. Estaba rastreando los documentos en busca de etiquetas sin éxito
Matthew Brent
1
@Navin Si esto no es lo suficientemente extraño, intente poner image: my.image.name:rc2en docker-compose.yml y build: .en docker-compose.override.yml y deje que docker-compose combine los dos. (Obtiene el mismo efecto que la respuesta aceptada)
Craftonix - AA
23

Respuesta original 20 de noviembre de 2015 :

No hay opción para una etiqueta específica a partir de hoy. Docker compose simplemente hace su magia y asigna una etiqueta como la que está viendo. Siempre puede tener alguna llamada de script docker tag <image> <tag>después de llamar a docker-compose.

Ahora hay una opción como se describe arriba o aquí

build: ./dir
image: webapp:tag
Rico
fuente
6

Si especifica imagen además de compilación, entonces Compose nombra la imagen compilada con la aplicación web y la etiqueta opcional especificadas en la imagen:

build: ./dir
image: webapp:tag

Esto da como resultado una imagen nombrada webappy etiquetada tag, construida a partir de ./dir.

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

Javier Rojano
fuente