Docker es una plataforma que permite, mediante un sistema de virtualización, ejecutar programas en paquetes llamados contenedores.
Los contenedores están aislados entre sà e incluyen todos los recursos de software, incluido el sistema operativo, por lo que permiten la ejecución de la aplicación.
Deploy Docker: ejecutar una aplicación con Docker usando Docker Image
Para ejecutar la implementación de una aplicación con Docker, primero se debe disponer de una imagen.
La imagen, o Docker image, es un dispositivo de sola lectura que contiene un conjunto de instrucciones para crear un contenedor que pueda ejecutarse en la plataforma Docker. La imagen ofrece un método especialmente cómodo para crear paquetes de aplicaciones y entornos de servidor preconfigurados.
La Docker image se puede crear usando un Dockerfile y con el comando docker build.
Podemos encontrar la imagen recién creada en la lista de imágenes con el comando docker image ls.
Para implementar la aplicación se necesita tener una instancia de Ubuntu Server con Docker instalado. Esta instancia puede estar en una máquina virtual local o remota o bien en una máquina fàsica dedicada.
Hay que tener en cuenta que la máquina virtual en la que se realizará la implementación deberá tener acceso a la imagen creada. Para ello, es necesario copiar la imagen en un registro Docker accesible a través de Internet. Hay muchos servicios, como Docker Hub, Amazon ECR o Google Container Registry.
Además, necesitaremos crear una cuenta para obtener la url del registro y la habilitación para poder subir imágenes Docker. En este punto, se puede cargar la imagen con el comando docker push:
Una vez hecho esto, accediendo a la máquina con Ubuntu Docker, necesitamos tomar la imagen del registro:
Tan pronto como tengamos la imagen podemos lanzar un contenedor con el comando docker run:
Deploy Docker: ejecutar comandos dentro del contenedor
El atributo -p permite mapear el puerto 80 para que sea accesible desde el exterior. Ahora, ejecutando el comando docker ps, se deberàa ver el contenedor recién lanzado en la lista.
Para ejecutar comandos dentro del contenedor en ejecución se puede ejecutar el comando docker exec. Al ejecutar el comando bash o sh, se podrá usar el shell dentro del contenedor del siguiente modo:
Escalar varios contenedores de forma dinámica: herramientas de orquestación de contenedores
Esta es la forma más sencilla de ejecutar la implementación de un contenedor Docker. ¿Qué pasa si queremos ejecutar varios contenedores y hacer que interactúen entre sà? ¿Qué pasa si queremos escalar el número de contenedores de forma dinámica?
Para hacer esto, necesitamos una herramienta de orquestación de contenedores. Hay muchos, como Docker Swarm, Kubernetes o Amazon ECS, temas que abordaremos en los próximos artàculos en profundidad.
Esperamos que esta miniguàa te haya sido de ayuda y, sobre todo, que te haya servido para entender cómo crear una imagen e implementar un contenedor.
Docker es actualmente una herramienta esencial para cualquier persona involucrada en el desarrollo web y la programación desde el lado del servidor.
Docker nos permite distribuir el código de forma más rápida y es una herramienta que nos da una oportunidad real de hacer homogéneo el funcionamiento de las aplicaciones optimizando la transferencia de código.
Read related articles
Kubernetes Cloud: servicios en la nube para Kubernetes, mini guía práctica
Kubernetes Cloud: vamos a observar de cerca Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) y Servicio Azure Kubernetes
Cómo funciona Kubernetes: funcionamiento y estructura
Cómo funciona Kubernetes: mini guía para entender el funcionamiento de una de las herramientas más importantes para un desarrollador de
Docker vs Kubernetes: vamos a ver en qué se diferencian
Docker vs Kubernetes: vamos a ver en qué se diferencian y por qué a veces nos confundimos A veces nos