Visitas: 97
Vamos a afrontar el manual de Instalar Docker en 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 en Debian
Para instalar Docker en Debian, como es obvio, lo primero es tener instalado Debian. Si buscas el mejor manual de la red para Instalar Debian aquí te dejo el link :).
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.
Prerrequisitos para instalar Docker en Debian:
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 en Debian 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.