Gestionar eficientemente las imágenes Docker es crucial para un desarrollo e implementación optimizados. Esta guía se centra en la práctica esencial de etiquetar imágenes Docker, cubriendo tanto comandos Docker independientes como la integración con Docker Compose.
Tabla de contenido
Etiquetado con docker build
El comando docker build
ofrece la manera más directa de etiquetar una imagen durante su creación. La bandera -t
especifica la etiqueta, que sigue el formato <repositorio>:<etiqueta>
. El repositorio a menudo incluye tu nombre de usuario de Docker Hub o la dirección de un registro privado, mientras que la etiqueta típicamente representa una versión (ej. 1.0
, latest
, v1.2.3
), un nombre de rama, o un identificador descriptivo.
Asumiendo que tienes un Dockerfile
en tu directorio actual, construye y etiqueta una imagen usando:
docker build -t mi-usuario/mi-imagen:1.0 .
Este comando:
docker build
: Inicia el proceso de construcción de la imagen.-t mi-usuario/mi-imagen:1.0
: Especifica la etiqueta. Reemplazami-usuario/mi-imagen
y1.0
con tus valores deseados..
: Indica el contexto de construcción (el directorio actual).
Verifica la etiqueta con:
docker images
Sube la imagen etiquetada a un registro (ej. Docker Hub):
docker push mi-usuario/mi-imagen:1.0
También puedes etiquetar una imagen existente usando su ID (obtenido de docker images
):
docker tag <id_imagen> mi-usuario/mi-imagen:1.0
Etiquetado con Docker Compose
Docker Compose simplifica la gestión de aplicaciones multi-contenedor. Defines etiquetas de imagen dentro de tu archivo docker-compose.yml
, optimizando el proceso de construcción e implementación.
Especificando una imagen existente:
version: "3.9"
services:
web:
image: mi-usuario/mi-imagen:1.0
ports:
- "80:80"
Esto usa la imagen mi-usuario/mi-imagen:1.0
. docker-compose up -d
descargará esta imagen (si no está local) e iniciará el contenedor. Asegúrate de que la imagen exista localmente o en tu registro antes de ejecutar este comando.
Construyendo y etiquetando dentro de Docker Compose:
version: "3.9"
services:
web:
build:
context: ./web-app
dockerfile: Dockerfile
ports:
- "80:80"
Esto construye la imagen desde el Dockerfile
en ./web-app
. Puedes opcionalmente especificar una etiqueta dentro de la sección build
o etiquetarla más tarde usando los métodos descritos anteriormente.
Mejores prácticas para el etiquetado
Emplea estrategias de etiquetado claras y consistentes. Usa versionado semántico (ej. 1.0.0
, 1.0.1
) para rastrear cambios y simplificar las reversiones. Considera usar etiquetas que reflejen el entorno (ej. producción
, staging
, dev
) además de los números de versión. Evita etiquetas genéricas como latest
para implementaciones de producción para prevenir implementaciones accidentales de versiones no deseadas.