Domina el arte de controlar versiones en imágenes con Docker tags

Cuando descargas una nueva imagen de Docker Hub, es probable que veas una etiqueta asociada. Por ejemplo, cuando descargas la imagen de debian, verás (después de ejecutar docker pull debian):

Utilizando la etiqueta por defecto: latest

¿Qué significa esa etiqueta? ¿Por qué "latest"? Explicaré por qué es importante usar etiquetas en Docker y por qué "latest" no siempre será la mejor opción.

Índice de Contenido
  1. ¿Qué son las etiquetas de Docker?
  2. Cómo agregar etiquetas a las imágenes
  3. Commit, etiquetado y push
  4. Especifícate

¿Qué son las etiquetas de Docker?

Las etiquetas de Docker no son lo mismo que las etiquetas de archivo. Con una etiqueta de archivo, puedes asignar múltiples palabras clave a un archivo para que, por ejemplo, cuando busques "linux", aparezcan todos los archivos etiquetados con esa palabra clave. Pero eso no es cómo usamos las etiquetas en Docker; en su lugar, etiquetamos nuestras imágenes para aclarar su contenido.

Por ejemplo, supongamos que has subido una imagen de ubuntu a Docker Hub sin etiquetar el archivo. Esto sería similar a que el botón "Descargar Ubuntu" de Canonical enlace directamente al archivo ubuntu.iso: no tendrías idea de qué versión de Ubuntu estás descargando. ¿Es una versión .04 o .10? ¿Es incluso la última versión? Por eso, los archivos de Ubuntu suelen tener nombres como ubuntu-16.04.1-server-amd64.iso, para saber exactamente qué estás obteniendo.

Una etiqueta de Docker es como esa sección 16.0.1-server-amd64 del nombre del archivo de descarga: te indica exactamente qué imagen estás obteniendo del repositorio.

Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con él

Cómo agregar etiquetas a las imágenes

Agregar una etiqueta a tu imagen es bastante sencillo, ya que los desarrolladores de Docker han incluido las herramientas necesarias en el comando docker.

Por ejemplo, has ajustado tu imagen de ubuntu para que sea exactamente lo que necesitas. Digamos que tu imagen de ubuntu es para propósitos de desarrollo y es la versión 1, lanzada el 14 de junio. Creemos un sistema de etiquetas que funcione con esa información. Podríamos usar una etiqueta como:

dev:v1.6.14

Esto indica a cualquiera que entienda tu sistema de versiones que esta es la versión 1, creada el 14 de junio. Sin embargo, esto podría causar problemas para alguien que no entienda tu sistema de versiones; podrías hacerlo un poco más claro con algo como:

dev:v1.6.14.2017

Lo anterior asume una notación de fecha en formato estadounidense, por lo que incluso con eso podrías tener problemas, aunque ilustra el punto.

Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows

¿Cómo etiquetas tus imágenes? Supongamos que vamos con la segunda opción anterior. El comando para etiquetar una imagen se ve así:

docker tag ID_DE_LA_IMAGEN imagen/ETIQUETA

ID_DE_LA_IMAGEN es la cadena de identificación de 12 caracteres para la imagen (que se muestra al ejecutar el comando Docker images) y ETIQUETA es nuestra etiqueta de versión recién creada. Entonces, nuestro comando para etiquetar la imagen de Ubuntu sería:

docker tag 7b9b13f7b9c0 ubuntu/dev:v1.6.14.2017

He etiquetado una imagen de Ubuntu con las dos convenciones anteriores para ilustrar cómo se ve esto cuando emites el comando Docker images (Figura A).

Figura A

Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grande

Lo que sucede con nuestra convención anterior es que hemos creado un repositorio llamado ubuntu/dev y etiquetado la imagen como v1.6.14.2017. Podríamos expandir eso y crear una convención de repositorio para aquellos que estarán descargando tus imágenes como:

  • http:v1.6.14.2017
  • sec:v1.6.14.2017
  • testing:v1.6.14.2017

La lista podría incluir lo que necesites. El elemento importante aquí es la especificidad. Agregar la etiqueta "latest" es una cosa, pero ¿qué significa exactamente eso, especialmente para alguien fuera de tu círculo de influencia?

Commit, etiquetado y push

Si planeas hacer push de la imagen, tendrás que confirmar los cambios que realizas (etiquetándola durante la confirmación) y luego hacer push de la imagen. Un ejemplo de comando de confirmación que incluiría el etiquetado es (USUARIO_DE_HUB es tu nombre de usuario en Docker Hub):

docker commit -m "Actualizado Ubuntu" -a "Jack Wallen" ubuntu-testing-June USUARIO_DE_HUB/ubuntu_testing:v1.6.14.2017

Luego, harías push de la imagen a tu cuenta de Docker Hub con los siguientes comandos:

docker login
docker push USUARIO_DE_HUB/ubuntu_testing

Debería su organización migrar a Google Apps desde Microsoft Exchange

La imagen aparecerá y podrás verla para ver la información de las etiquetas (Figura B).

Figura B

Domina el arte de controlar versiones en imágenes con Docker tags - Nube | Imagen 1 Newsmatic

Para descargar esa imagen etiquetada, deberías emitir el comando:

docker pull USUARIO_DE_HUB/ubuntu_testing:v1.6.14.2017

Especifícate

Con las etiquetas de Docker, cuanto más específico puedas ser, mejor. No quieres que tu personal u otros usuarios de Docker descarguen imágenes de tu cuenta y no tengan idea de qué son las imágenes o cuándo fueron creadas. Sé específico para evitar este tipo de problemas.

Google vs Microsoft: Quién ofrece el mejor almacenamiento en la nube

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Domina el arte de controlar versiones en imágenes con Docker tags , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.