No estás usando esta distribución?

Selecciona una versión o distribución diferente

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.

En este tutorial, instalarás y utilizarás Docker Community Edition (CE) en Debian 12. Instalarás Docker, que te permitirá trabajar con contenedores e imágenes.

Instalación de 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 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-plugin
📢
También podemos instalar el paquete docker-compose por si necesitamos levantar ficheros de configuración

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-06-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

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

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación