Docker facilita el desarrollo y la implementación de entornos personalizados y coherentes que incluyen aplicaciones y dependencias específicas. Docker llama a estas compilaciones Imágenes. Las imágenes de Docker se pueden alojar y recuperar desde ubicaciones privadas o desde el repositorio oficial, Docker Hub.
Esta guía es parte de una serie de introducciones a los conceptos de Docker. Los comandos para crear una imagen en esta guía se basan en la guía anterior, Cómo instalar y extraer imágenes para la implementación de contenedores. Para obtener más información sobre Docker y los contenedores, visite nuestras guías sobre contenedores.
Crear una imagen de Docker
Cree una nueva imagen local basada en la última imagen de Docker de Ubuntu. Aunque el repositorio ya tiene varias imágenes de pila LAMP disponibles, creamos una en esta guía como ejemplo del proceso.
-
Obtenga la última imagen de Ubuntu:
docker pull ubuntu
-
Cree el nuevo contenedor, de modo que podamos agregar nuestra pila LAMP a Ubuntu. Este ejemplo nombra el contenedor
lamp-server-template
y agrega elbash
opción al comando docker para ingresar al contenedor para continuar haciendo cambios:docker run --name lamp-server-template -it ubuntu:latest bash
-
Instale el
lamp-server
metapaquete dentro del contenedor:apt-get install lamp-server^
Esta actualización e instalación llevará más tiempo que si estuviera trabajando en un servidor estándar. Durante la instalación de la pila LAMP, se le pedirá que cree una contraseña de usuario raíz de MySQL. Cuando se complete la instalación, salga del contenedor:
exit
-
Usa
docker ps -a
para enumerar todos los contenedores disponibles:
Confirmar cambios en la imagen
Para realizar cambios en la imagen, primero debemos tener el ID del contenedor. Al igual que en el ejemplo anterior, docker ps -a
el comando enumera el ID como d09dd0f24b58
. Vamos a nombrar nuestra nueva imagen lamp-server-template
y confirme los cambios con el comando:
docker commit d09dd0f24b58 lamp-server-template
Si ejecuta las docker images
comando, verá la nueva imagen, lamp-server-template
listado.
Etiquete su imagen para control de versiones
Cuando baja una imagen de Docker Hub, el Status
la línea incluye la etiqueta de imagen como se muestra aquí:
Status: Downloaded newer image for ubuntu:latest
Las etiquetas de Docker son una manera fácil de saber con qué versión o lanzamiento está trabajando. Esto es especialmente útil para crear nuevas imágenes a partir de una imagen base. Por ejemplo, si tiene una imagen de Ubuntu que usa como base para crear diferentes imágenes, las etiquetas de Docker lo ayudan a rastrear las diferencias:
lamp-server-template:v1.8.10.2017
lamp-server-template:v2.8.10.2017
lamp-server-template:v3.8.10.2017
-
Cree etiquetas de imagen con un
docker commit
. Utilizando las etiquetas de ejemplo anteriores, etiquete la nueva imagen con un número de versión y una fecha:docker commit d09dd0f24b58 lamp-server-template:v1.8.10.2017
-
Ejecute
docker images
para ver la nueva imagen creada junto con la etiqueta asociada:
Envíe su imagen a Docker Hub
-
Antes de enviar la imagen a Docker Hub, agregue una descripción, su nombre completo (
FULL NAME
en el ejemplo aquí) y el nombre de usuario de Docker Hub (USERNAME
) en eldocker commit
:docker commit -m "Added LAMP Server" -a "FULL NAME" d09dd0f24b58 USERNAME/lamp-server-template:v1.8.10.2017
-
Una vez que esté completamente etiquetado, inicie sesión y envíelo a Docker Hub:
docker login
-
Se le solicitarán sus credenciales de Docker Hub. Cuando la autenticación sea exitosa, verá
Login succeeded
. Ahora, puede enviar la imagen al Hub con el comando:docker push lamp-server-template:v1.8.10.2017
-
Abra un navegador, inicie sesión en su cuenta de Docker Hub y vaya a su repositorio principal. Verá la nueva imagen en la lista. Haga clic en la imagen y luego haga clic en Etiquetas pestaña para ver la etiqueta añadida:
Y eso es todo lo que hay que hacer para crear una nueva imagen, cambiar la imagen, confirmar sus cambios, etiquetar la imagen y enviar la imagen completa a Docker Hub, todo manejado directamente desde su Linode.
Más información
Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.
- Documentos de Docker
- Tutorial de prueba de Docker
- Centro acoplable