Instalar Docker en Debian 12


Linux Debian Docker
Instalar Docker en Debian 12


Docker es una aplicación que simplifica el proceso de gestión de los procesos de las aplicaciones en contenedores. Los contenedores le permiten ejecutar sus aplicaciones en procesos aislados de recursos. Son similares a las máquinas virtuales, pero los contenedores son más portátiles, consumen más recursos y dependen más del sistema operativo anfitrión.

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 los paquetes requeridos:

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

Añadimos la llave GPG del repositorio de Docker:

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:

apt update

Procedemos a instalar los paquetes para Docker:

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

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 2024-04-19 11:28:13 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
         
         Apr 19 11:28:12 debian12 systemd[1]: Starting docker.service - Docker Application Container Engine...
         Apr 19 11:28:12 debian12 dockerd[10575]: time="2024-04-19:28:12.317154017+02:00" level=info msg="Starting up"
         Apr 19 11:28:12 debian12 dockerd[10575]: time="2024-04-19:28:12.724949281+02:00" level=info msg="Loading containers: start."
         Apr 19 11:28:13 debian12 dockerd[10575]: time="2024-04-19:28:13.118157393+02:00" level=info msg="Loading containers: done."
         Apr 19 11:28:13 debian12 dockerd[10575]: time="2024-04-19:28:13.203700934+02:00" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
         Apr 19 11:28:13 debian12 dockerd[10575]: time="2024-04-19:28:13.204717873+02:00" level=info msg="Daemon has completed initialization"
         Apr 19 11:28:13 debian12 dockerd[10575]: time="2024-04-19:28:13.288904793+02:00" level=info msg="API listen on /run/docker.sock"
         Apr 19 11:28:13 debian12 systemd[1]: Started docker.service - Docker Application Container Engine.

Ejecutar docker sin ser usuario root (Opcional)

El comando docker únicamente 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:

adduser voidnull

Lo añadimos al grupo de docker:

usermod -aG docker voidnull

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