Saltar a contenido

Docker y docker compose

Introducción

Docker es una plataforma de virtualización ligera que está basada en contenedores lo cuál es una gran ventaja ya que nos permite desplegar nuestros servicios de forma simple, aislada y escalable. Debido a que se basa en imágenes cada servicio se encarga de sus dependencias sin interferir en nuestro sistema base ni en otros contenedores. Docker compose, por otro lado, necesita de docker para funcionar ya que docker se encarga de ejecutar los contenedores y docker compose facilita la configuración y el arranque conjunto de varios contenedores relacionados y también se encarga de los puertos, volúmenes y redes.

Motivos de elección

Optamos por usar docker y docker compose ya que es bastante estable y muy adoptado con una gran comunidad detrás. Necesitábamos un entorno para desplegar y ejecutar nuestras aplicaciones y estas dos tecnologías satisfacen por completo nuestras necesidades. Nos ofrecen también soporte nativo en Linux, lo cuál era esencial para nosotros. Además, estas tecnologías están perfectamente alineadas con los pilares de nuestro proyecto ya que es algo simple, es seguro y lo podemos auto hospedar.

Función dentro del proyecto

Dentro de nuestro proyecto bitCLD, actúan como el entorno de ejecución principal de todos los servicios. Ya que cada aplicación se ejecuta en su propio contenedor, como iremos viendo más adelante en los distintos servicios que usamos y también permite mantener un sistema limpio, ordenado y fácil de administrar gracias a Dockge, el cual es uno de los servicios que tenemos en el proyecto y nos permite administrar todo aún más sencillo.

Instalación de Docker y Docker Compose

En bitCLD hemo optado por una instalación directa desde los repositorios oficiales de Ubuntu, buscando que sea de la manera más simple y estable. Con este método, tanto Docker como Docker Compose se instalan con un solo comando, sin necesidad de añadir repositorios externos.

1. Instalación de Docker y Docker Compose

Ejecutamos el siguiente script oficial para instalar tanto Docker como docker compose en su versión V2:

curl -fsSL https://get.docker.com | sudo sh

docker

Antes de que ejecutemos este script debemos asegurarnos que no tengamos instalado Docker anteriormente porque podría rompernos configuraciones que ya tengamos. En nuestro caso al ser la primera vez que instalamos no hay problema.

2. Habilitar y arrancar el servicio

A continuación, activamos el servicio de Docker para que se inicie automáticamente al arrancar el sistema y lo iniciamos manualmente por primera vez:

    sudo systemctl enable docker
    sudo systemctl start docker

Podemos verificar su estado con:

    systemctl status docker

docker version

Verificación del funcionamiento de Docker

1. Ver versión y servicios activos

Compruebamos que tanto Docker Engine como Compose están disponibles:

    docker version
    docker compose version

docker version

docker version

docker compose version

2. Ver lista de contenedores activos y detenidos

    docker ps         # activos
    docker ps -a      # todos

docker ps

docker ps

docker ps -a

docker ps -a

4. Listar imágenes descargadas

    docker images

docker images

docker images


Conclusión

En conclusión Docker y docker compose son una base fundamental de bitCLD, ya que sin estas el despliegue, ejecución y mantenimiento de aplicaciones se haría mucho más complejo y tedioso. Gracias al sistema de contenedores mantenemos nuestro sistema limpio, estable y nos aseguramos que no hayan conflictos entre las aplicaciones.

Combinado con Dockge, que nos ofrece una gestión mucho más visual y automatizada, es una gran solución para bitCLD. Con estas tecnologías cumplimos nuestros pilares: simplicidad, seguridad, autogestión y usar herramientas de código abierto siempre que sea posible.