Etiquetando y Compartiendo su Imagen Docker
Ahora que hemos creado una imagen Docker personalizada, aprenderemos a etiquetarla correctamente y a prepararla para compartirla. En un escenario del mundo real, enviaría la imagen a un registro como Docker Hub, pero en este tutorial, nos centraremos en los pasos de preparación.
Entendiendo las Etiquetas de las Imágenes Docker
Las imágenes Docker se identifican por el nombre de su repositorio y su etiqueta. Las etiquetas ayudan en el versionado y la organización de las imágenes. La etiqueta predeterminada es latest, pero es una buena práctica usar etiquetas de versión significativas.
Agregando Más Etiquetas a su Imagen
Agreguemos algunas etiquetas más a nuestra imagen personalizada:
docker tag my-custom-nginx:v1 my-custom-nginx:latest
docker tag my-custom-nginx:v1 my-custom-nginx:stable
Estos comandos crean dos etiquetas adicionales para nuestra imagen: latest y stable. Los datos reales de la imagen se comparten entre las tres etiquetas, por lo que esta operación es muy eficiente.
Verificando las Etiquetas
Comprobemos nuestras imágenes de nuevo:
docker images
Ahora debería ver múltiples entradas para my-custom-nginx:
REPOSITORY TAG IMAGE ID CREATED SIZE
my-custom-nginx v1 a1b2c3d4e5f6 10 minutes ago 142MB
my-custom-nginx latest a1b2c3d4e5f6 10 minutes ago 142MB
my-custom-nginx stable a1b2c3d4e5f6 10 minutes ago 142MB
nginx latest 605c77e624dd 2 weeks ago 142MB
Observe que todas las imágenes my-custom-nginx tienen el mismo ID de imagen, lo que indica que son la misma imagen con diferentes etiquetas.
Preparándose para la Distribución de Imágenes
En un escenario del mundo real, enviaría su imagen a un registro como Docker Hub. Para hacer esto, necesitaría:
- Crear una cuenta en Docker Hub
- Iniciar sesión en Docker Hub desde su terminal
- Etiquetar su imagen con su nombre de usuario de Docker Hub
- Enviar la imagen
Para fines de demostración, supongamos que su nombre de usuario de Docker Hub es su_nombre_de_usuario. Así es como prepararía su imagen para enviarla:
docker tag my-custom-nginx:v1 yourusername/my-custom-nginx:v1
Para enviar la imagen (en un escenario real), usaría:
## Esto es solo para demostración - realmente no enviaremos
## docker push yourusername/my-custom-nginx:v1
Guardando una Imagen Docker en un Archivo
En lugar de enviar a un registro, también puede guardar una imagen Docker en un archivo para la transferencia manual:
docker save -o my-custom-nginx.tar my-custom-nginx:v1
Este comando guarda la imagen en un archivo tar llamado my-custom-nginx.tar. Puede verificar que el archivo se creó:
ls -lh my-custom-nginx.tar
Debería ver una salida similar a:
-rw------- 1 labex labex 142M Nov 10 12:34 my-custom-nginx.tar
Cargando una Imagen desde un Archivo
Para cargar una imagen desde un archivo tar en otra máquina (o en la misma máquina después de eliminar la imagen), usaría:
## No ejecutaremos realmente este comando como parte del tutorial
## docker load -i my-custom-nginx.tar
Exportando la Documentación del Contenedor
Para ayudar a otros a comprender su imagen personalizada, es una buena práctica documentar los cambios que ha realizado. Creemos un archivo de documentación simple:
cat > my-custom-nginx-doc.txt << EOF
## Mi Imagen Nginx Personalizada
Esta es una imagen Nginx personalizada creada clonando la imagen oficial de Nginx.
### Cambios Realizados
- Se reemplazó la página de bienvenida predeterminada con una página HTML personalizada
### Cómo Ejecutar
docker run --name my-custom-container -d -p 8080:80 my-custom-nginx:v1
### Historial de Versiones
- v1: Versión personalizada inicial con página de bienvenida modificada
EOF
Ahora tiene un archivo de documentación para su imagen personalizada.
¡Felicitaciones! Ha aprendido a etiquetar su imagen Docker y a prepararla para compartirla. En el siguiente paso, repasaremos algunas mejores prácticas y limpiaremos nuestro entorno.