Crear un Contenedor con Docker
¿Qué es Docker? Es un software de código abierto y se utiliza para desplegar aplicaciones de forma independiente en contenedores. Así se crea una capa de abstracción en nuestro sistema operativo, ya sea Linux o Windows.
Aparte de Docker, existen muchas otras plataformas:
- Kubernetes de Google.
- Mesosphere Datacenter (DC/OS).
- Google Kubernetes Engine (GKE).
- Azure Kubernetes Service (AKS).
- Amazon Elastic Container Service (Amazon ECS).
- Hashicorp Nomad.
- Helios.
- Marathon.
- Cloud Foundry.
En los siguientes apartados, veremos de forma sencilla cómo instalar Docker en Windows, cómo configurarlo para su ejecución y cómo crear un contenedor.
Instalación de Docker
Accede a la web oficial https://www.docker.com/, presiona Get Started y descarga la versión de tu sistema operativo.
Procede a la instalación de Docker Desktop dejando las casillas de instalación por defecto seleccionadas. La versión que voy a instalar es la 3.6.0.
Reinicia si se requiere. En mi caso, lo pide.
Ejecución de Docker
Cuando hayas instalado y reiniciado el equipo, puede que surjan algunos errores o problemillas. Te cuento lo que hay que comprobar y hacer para solucionarlo:
- Al iniciar Docker aparece el siguiente error:
Error: Hardware assisted virtualization and data execution protection must be enabled in the BIOS.
Comprueba las características de Windows 10 y asegúrate que las siguientes casillas están activadas:
- Containers.
- Casilla y subcasillas Hyper-V.
- Plataforma de máquina virtual.
- Subsistema de Windows para Linux.
2. Una vez activadas las casillas, reinicia el equipo.
3. Accede a la BIOS de tu equipo y comprueba que en la configuración la opción de virtualización esté habilitada (en mi caso se llama Intel Virtual Technology). Si no lo está, habilítala y sal guardando los cambios.
4. Abre de nuevo Docker y si te aparece el siguiente mensaje, debes acceder al enlace que muestra la ventana y descargar el WSL (Subsistema de Windows para Linux)
5. Ejecuta el paquete descargado y procede a la instalación.
6. Reinicia Docker.
Siguiendo los pasos anteriores ya deberías iniciar Docker sin problemas en Windows. Aparecerá una ventana como la siguiente sin ningún contenedor:
Crea tu primer contenedor Docker
Antes de crear un contenedor, será necesario obtener una imagen desde el Centro de Docker o Docker Hub. La dirección es la siguiente: https://hub.docker.com/
Pero antes, algunos conceptos importantes:
¿Qué es una imagen en Docker? Podemos definirla como un sistema operativo con aplicaciones instaladas. Estas imágenes pueden ser modificadas a nuestro antojo según nuestras necesidades y crear nuevas imágenes.
¿Qué es un contenedor en Docker? Es la instancia de nuestra imagen en ejecución. A partir de una imagen podemos ejecutar varios contendores a la vez, cada uno conteniendo una aplicación distinta.
Y ahora sí, vamos a crear nuestro primer contenedor Docker. En este caso en concreto, desplegaremos una imagen Linux únicamente en un contenedor.
Lo primero será crear una cuenta en https://hub.docker.com/ y elegir la opción FREE.
Una vez creada, inicia sesión y busca por «Ubuntu». Elige la primera opción Ubuntu (Official Image):
Observa que aparece el comando para instalar la imagen. Así que abre una Windows PowerShell e introduce docker pull ubuntu:
Observa que se ha instalado:
Para ejecutar la imagen podemos hacerlo desde línea de comandos introduciendo docker run ubuntu o desde Docker Desktop, presionando sobre el botón Run de la imagen.
Completa el nombre del contenedor en la ventana que aparece y presiona Run.
En la zona de Containers / Apps ya aparece tu contenedor ejecutándose. Recuerda que a partir de una imagen, puedes ejecutarla varias veces e ir creando contenedores por separado y de forma independiente.
A continuación, vamos a trabajar sobre este contenedor Ubuntu, para ello, en el apartado Containers / Apps, sitúate sobre el contenedor y muestra los siguientes botones (CLI, STOP, REINICIAR, ELIMINAR):
Presiona sobre el primer botón, CLI. Se abrirá una ventana en la que podremos ejecutar comandos propios Linux.
Este ejemplo es bastante básico y apenas se usan comandos. En próximos artículos, explicaré como crear imágenes propias y configuraciones más avanzadas donde entrará en juego el fichero Dockerfile.
Puedes ver este tutorial: Dockerizar aplicación Spring Boot