crear una imagen de etiqueta múltiple


147

docker pull ubuntu obtendrá múltiples imágenes de etiquetas.

¿Es posible crear múltiples etiquetas por un Dockerfile como ubuntu?

ubuntu                  13.10               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  saucy               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  raring              eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  13.04               eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  12.10               5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  quantal             5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  10.04               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  lucid               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  12.04               9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  latest              9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  precise             9cd978db300e        2 weeks ago         204.7 MB

Aquí, lo que requiero son las etiquetas para diferentes contenidos. (No es el mismo contenido con varias etiquetas de alias)


Respuestas:


79

No puede crear etiquetas con Dockerfiles, pero puede crear varias etiquetas en sus imágenes a través de la línea de comandos.

Use esto para enumerar sus identificadores de imagen:

$ docker images

Luego etiqueta:

$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...

44
El punto principal está en Dockerfile, estos comandos no se pudieron escribir en Dockerfile.
— Daniel YC Lin

1
Vea esta respuesta para una manera que evita tener que descifrar manualmente la ID.
— Jonathon Reinhart

437

Desde la versión 1.10 , ahora puede agregar varias etiquetas a la vez en la compilación:

docker build -t name1:tag1 -t name1:tag2 -t name2 .

Fuente: Agregar capacidad para agregar múltiples etiquetas con Docker Build


55
Creo que esta es la respuesta más correcta para la facilidad de uso en un proceso de construcción
— brasskazoo

Esto no es correcto, ya que la etiqueta de ubuntu para diferentes versiones, el contenido es diferente.
— Daniel YC Lin

2
Sin embargo, ¿cómo hago para que estas etiquetas aparezcan en el repositorio después de una inserción? Desafortunadamente, solo el que uso en el comando push aparece en el repositorio.
— Czechnology

44
Incluso a finales de 2018 acoplable es todavía muy inmaduro en este sentido, cada una 'etiqueta' debe todavía ser empujado por separado a pesar de estar conectado a la misma imagen. Lo que se requiere aquí es alguna capacidad similar a las etiquetas Git.
— Ed Randall

-8

Cómo no hacerlo:

Al crear una imagen, también puede etiquetarla de esta manera.

docker build -t ubuntu:14.04 .

Luego lo construyes de nuevo con otra etiqueta:

docker build -t ubuntu:latest .

Si su Dockerfile hace un buen uso de la memoria caché, debería aparecer la misma imagen y efectivamente hace lo mismo que volver a etiquetar la misma imagen. Si lo hacesdocker images , verá que tienen la misma identificación.

Sin embargo, probablemente haya un caso en el que esto salga mal ... Pero como dijo @ david-braun, no se pueden crear etiquetas con Dockerfiles, solo con el comando docker.


3
Debo agregar que hacerlo como @ david-braun es más limpio.
— mandioca

14
No construyas dos veces. Mira esta respuesta .
— Jonathon Reinhart

construir dos veces derrota la noción de CI / CD ... la segunda compilación podría ser diferente dependiendo de las dependencias ... todo está en el momento.
— Richard

44
Con el claro encabezado 'Cómo no hacerlo', esta respuesta ahora agrega algo a la comprensión de cómo funciona.
— Ed Randall
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.