Docker es un popular software de contenedorización. Los contenedores son una unidad estándar de software que empaqueta el código y todas sus dependencias para que una aplicación pueda ejecutarse de forma rápida y fiable en diferentes sistemas operativos y entornos informáticos.
En términos técnicos, un contenedor es un proceso en ejecución que está aislado de otros procesos y tiene acceso a recursos informáticos. A continuación, vamos a ver cómo instalar Docker en Debian 11 y ejecutar la primera aplicación.
Hay dos formas de instalar, usando los repositorios estándar de Debian o el repositorio oficial de Docker. Los repositorios de Debian no contienen la versión más reciente, así que vamos a considerar la instalación desde el repositorio oficial de Docker.
Antes de añadir el repositorio, es necesario actualizar la lista de paquetes ejecutando el comando:
$ sudo apt update
Instala también los paquetes adicionales necesarios para trabajar con repositorios remotos. Para instalar estos paquetes, ejecuta el comando
$ sudo apt -y install ca-certificates curl gnupg lsb-release
A continuación, descargue y añada la clave PGP del repositorio. Para ello, ejecute el comando:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Para añadir el repositorio es necesario ejecutar el comando::
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Para instalar el paquete, primero hay que actualizar las listas de paquetes para que aparezca un nuevo repositorio en el sistema. Para ello, basta con ejecutar el comando
$ sudo apt update
Por último, puede instalar paquetes adicionales. La instalación se realiza mediante el comando
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
La palabra ce
en el nombre del paquete docker-ce
significa comunidad
, lo que significa que se instalará la versión gratuita (también conocida como versión de la comunidad). Ahora ya sabes cómo instalar docker debian.
Después de la instalación, se apagará por defecto. Para iniciar el programa es necesario ejecutar el comando:
$ sudo systemctl start docker
Para que se ejecute con el sistema operativo hay que añadirlo al autoloader mediante el comando:
$ sudo systemctl enable docker
Por defecto, sólo el usuario root puede utilizar y ejecutar sus comandos en el terminal. Si ejecuta cualquier comando desde un usuario normal, la terminal mostrará el siguiente error:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Para ejecutar el comando como un usuario normal y sin utilizar el comando sudo
, debe añadir el usuario al grupo docker
. El grupo docker
se crea automáticamente durante la instalación. Sin embargo, si por alguna razón no se crea automáticamente, debe crearse manualmente ejecutando el siguiente comando:
$ sudo groupadd docker
A continuación, para añadir el usuario actual al grupo docker, ejecute:
$ sudo usermod -aG docker $USER
La variable $USER
significa que el usuario actual, en nombre del cual se inicia la sesión, será añadido al grupo docker
. Esta variable está presente en todas las distribuciones modernas de Linux. También cabe destacar que el grupo docker otorga privilegios equivalentes a los del usuario root.
Después de añadir un usuario, es necesario volver a iniciar sesión en el sistema y sólo entonces se puede ejecutar cualquier comando Docker
para realizar pruebas. Como ejemplo, se ejecutó el comando docker ps
que muestra una lista de contenedores en ejecución:
$ docker ps
Como se puede ver en la captura de pantalla anterior se ejecutó sin errores y en nombre de un usuario normal.
Para probar completamente Docker, puedes descargar una imagen de prueba desde hello-world
para su verificación. Para ello, es necesario ejecutar:
$ docker run hello-world
El comando docker run
descargará la imagen de software del repositorio online docker hub
, el registro oficial de almacenamiento de imágenes de software de Docker que se utiliza por defecto, y la ejecutará automáticamente. El ejemplo muestra la frase Hello from Docker!
que significa que la imagen se ha descargado y ejecutado correctamente.