Vamos a afrontar el manual de Instalar Docker en Linux Debian 12, pero antes de nada: ¿Qué es Docker y para qué sirve?.

Docker es una plataforma de código abierto que permite el desarrollo, empaquetado y despliegue de aplicaciones en entornos aislados llamados «contenedores». Estos contenedores encapsulan todo lo necesario para que una aplicación se ejecute de manera consistente, incluyendo el código, las bibliotecas, las dependencias y las configuraciones.

La utilidad principal de Docker radica en la creación de entornos consistentes y reproducibles, lo que facilita la colaboración entre equipos de desarrollo y operaciones. Permite que las aplicaciones funcionen de manera idéntica en diferentes entornos, como máquinas locales, servidores de prueba y en la nube. Los contenedores son ligeros, rápidos de iniciar y detener, y consumen menos recursos que las máquinas virtuales convencionales, lo que optimiza la eficiencia y escalabilidad.

Docker también resuelve el problema de «funciona en mi máquina», ya que garantiza que la aplicación se comportará de la misma manera en el desarrollo, la prueba y la producción. Facilita la implementación continua (CI/CD) al proporcionar un proceso de despliegue uniforme. Además, su enfoque modular permite la construcción de microservicios, lo que favorece la arquitectura escalable y flexible.

En resumen, Docker simplifica la gestión de aplicaciones al abstraer las complejidades de las dependencias y los entornos, permitiendo una distribución más rápida, confiable y eficiente de software en múltiples plataformas.

Instalar Docker

Para la mayoría de versiones de Debian en sus repositorios hay disponible el paquete de Docker, pero si queremos usar la última versión disponible, es recomendable utilizar los repositorios oficiales de Docker.

Instalamos prerrequisitos para instalar Docker:

Tendremos que añadir nuestro usuario al grupo de Sudoers, teneis un video en el canal, pero es solo lanzar este comando con el usuario Root.

usermod -aG sudo juan

Recuerda que este comando de arriba debes lanzarlo con root. (para cambiar a root usa el comando «su -» o te dará error). Una vez hecho lo anterior puedes seguir con tu usuario normal, que es con el que se ejecutará Docker.

sudo apt install software-properties-common apt-transport-https ca-certificates curl gnupg lsb-release

Añadimos y configuramos la llave GPG del repositorio para InstalarDocker:

mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Una vez la llave añadida, procedemos a configurar los repositorios:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Actualizamos los repositorios:

sudo apt update

Procedemos a instalar los paquetes de Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose

Cuando acabe con la instalación, podemos mirar el estado del servicio y añadirlo al arranque:

systemctl status docker
systemctl enable docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Mon 2023-08-28 3 CEST; 9s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 10575 (dockerd)
      Tasks: 7
     Memory: 29.8M
        CPU: 396ms
     CGroup: /system.slice/docker.service
             └─10575 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Ago 28 16:28:12 debian12 systemd[1]: Starting docker.service - Docker Application Container Engine...
Ago 28 16:28:12 debian12 dockerd[10575]: time="2023-08-28T11:28:12.317154017+02:00" level=info msg="Starting up"
Ago 28 16:28:12 debian12 dockerd[10575]: time="2023-08-28T11:28:12.724949281+02:00" level=info msg="Loading containers: start."
Ago 28 16:28:13 debian12 dockerd[10575]: time="2023-08-28T11:28:13.118157393+02:00" level=info msg="Loading containers: done."
Ago 28 16:28:13 debian12 dockerd[10575]: time="2023-08-28T11:28:13.203700934+02:00" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
Ago 28 16:28:13 debian12 dockerd[10575]: time="2023-08-28T11:28:13.204717873+02:00" level=info msg="Daemon has completed initialization"
Ago 28 16:28:13 debian12 dockerd[10575]: time="2023-08-28T11:28:13.288904793+02:00" level=info msg="API listen on /run/docker.sock"
Ago 28 16:28:13 debian12 systemd[1]: Started docker.service - Docker Application Container Engine.

Ejecutar docker sin ser usuario root

Esta ultima sección es opcional. debido a que el comando docker solo puede ejecutarlo root, si queremos configurar un usuario diferente para que ejecute los comandos de Docker debemos de seguir estos pasos.

Lo primero, añadir un usuario nuevo o elegir uno existente:

adduser juan

Lo añadimos al grupo de docker:

usermod -aG docker juan

Y listo, con esto el usuario juan ya podrá ejecutar los comandos de Docker.

Por Juan Antonio

Creador y Administrador de isytec.net. Como amante de las tecnologías que soy, disfruto conociéndolas, probándolas y lo que más me gusta es contaros mi opinión por si os ayuda en algo. Espero que disfrutéis tanto de isytec.net como yo. :)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.