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.