En esta entrada vamos a ver cómo instalar Docker en Debian 10 Buster paso a paso, de modo que podrás utilizar el sistema de contenedores de aplicaciones que ofrece esta herramienta de virtualización a nivel de sistema operativo en tu servidor o VPS Debian.
Tabla de contenidos
Antes de instalar Docker en Debian 10 Buster
Si quieres seguir esta guía de instalación de Docker en Debian 10 Buster necesitas al menos cumplir unos requisitos básicos:
- Un sistema Debian 10 Buster actualizado.
- Acceso a consola con root o un usuario con privilegios de sudo.
- Conexión a Internet.
También necesitaremos algunas herramientas del sistema que obtendremos de los repositorios de Debian 10, por lo que los actualizaremos:
~$ sudo apt update
E instalaremos los paquetes necesarios:
~$ sudo apt install -y gnupg
Cómo instalar el repositorio de Docker para Debian 10 Buster
Vamos a configurar el repositorio oficial de Docker para Debian 10, empezando por la creación de un nuevo archivo de repositorio de apt:
$ sudo nano /etc/apt/sources.list.d/docker.list
El contenido será la siguiente línea:
deb https://download.docker.com/linux/debian buster stable
Como el nuevo repositorio está firmado, es necesario instalar su clave pública:
~$ wget https://download.docker.com/linux/debian/gpg -O- | sudo apt-key add
Actualizamos los repositorios, incluyéndose ya también el de Docker:
~$ sudo apt update
Cómo instalar Docker en Debian 10 Buster
Para instalar Docker en Debian 10 Buster necesitaremos los paquetes docker-ce, docker-ce-cli y containerd.io, que instalaremos con apt:
~$ sudo apt install -y docker-ce docker-ce-cli containerd.io
Tras la descarga e instalación de Docker y sus dependencias tendremos un nuevo servicio funcionando en Debian 10, el servicio docker.service o docker, que queda en ejecución y habilitado para su inicio automático.
Podemos comprobar el estado del servicio Docker en cualquier momento mediante el comando systemctl status docker
:
Versión de Docker instalada en Debian 10
Si necesitas saber qué versión de Docker tienes instalada en Debian 10 puedes averiguarlo fácilmente desde consola con el parámetro -v del comando docker:
~$ docker -v Docker version 26.1.4, build 5650f9b
Cómo comprobar el funcionamiento de Docker en Debian 10
Una forma sencilla de comprobar el funcionamiento de Docker en Debian 10 es lanzar algún contenedor, por ejemplo el típico hello-word:
~$ sudo docker run hello-world
La primera vez que lanzamos el comando anterior, como no existe la imagen de este contenedor en el sistema, se descargará y se creará el contenedor a partir de la misma:
~$ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world c1ec31eb5944: Pull complete Digest: sha256:d1b0b5888fbb59111dbf2b3ed698489c41046cb9d6d61743e37ef8d9f3dda06f Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
Si volvemos a lanzar el comando anterior se obviarán los mensajes iniciales, ya que ahora la imagen se encuentra en el sistema y sólo hay que instanciar el nuevo contenedor:
~$ sudo docker run hello-world
Como puedes ver, a parte del consabido mensaje de saludo, se nos ofrece información de cómo funciona todo el proceso de obtención y ejecución de contenedores y se nos propone algún ejemplo más.
Permitir el uso de Docker a usuarios comunes
Como has visto, se necesitan privilegios de sudo para trabajar con Docker. Podría interesarte que ciertos usuarios sin privilegios puedan trabajar con Docker. Para hacer esto basta con añadir los usuarios que te interesen al grupo docker; por ejemplo, voy a darle dichos permisos a mi usuario de trabajo:
~$ sudo adduser chacho docker
La próxima vez que el usuario inicie sesión podrá ejecutar el comando docker:
~$ docker run hello-world Hello from Docker! ...
Mostrar los contenedores Docker existentes en Debian 10
Cada vez que has lanzado el comando run de Docker en los ejemplos anteriores se ha creado un contenedor distinto a partir de la misma imagen. Es fácil comprobarlo mediante el comando ps de Docker:
~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 684b9ad50bd1 hello-world "/hello" 4 minutes ago Exited (0) 4 minutes ago keen_elgamal 74d74f1e43c5 hello-world "/hello" 7 minutes ago Exited (0) 7 minutes ago nostalgic_fermat
El modificador -a permite que se muestren los contenedores que han finalizado su ejecución, que en este caso son todos los que hemos lanzado hasta el momento. La salida de este comando muestra varios contenedores distintos (identificadores y nombres distintos creados por Docker), creados a partir de la misma imagen, la fecha de la creación y su estado.
Eliminar contenedores
Para borrar contenedores que no se usan Docker ofrece el comando rm, que podemos utilizar junto al identificador del contenedor:
~$ docker rm 684b9ad50bd1
O mediante el nombre del contenedor:
~$ docker rm nostalgic_fermat
Iniciar contenedores
Para evitar crear contenedores inútiles es buena idea especificar un nombre personalizado para el contenedor, en lugar del que crea Docker aleatoriamente, con el modificador –name:
~$ docker run --name hola_mundo hello-world Hello from Docker! ...
El contenedor se crea, se ejecuta y finaliza. La próxima vez que necesitemos trabajar con el contenedor usaremos el comando start de Docker, con el modificador -a si queremos que muestre su salida en consola, especificando el identificador o el nombre del contenedor:
~$ docker start -a hola_mundo Hello from Docker! ...
Conclusión
Así de sencillo es instalar Docker en Debian 10 Buster desde el repositorio oficial, para disfrutar de la última versión disponible. El sistema queda listo para empezar con el uso de contenedores o desarrollo de los tuyos propios.
Si tienes dudas, preguntas, alguna sugerencia, etc. puedes dejar un mensaje (están moderados para evitar molesto SPAM, pero se revisan prácticamente a diario).
Y si gracias a esta pequeña guía de instalación y configuración ya puedes trabajar con contenedores en tu sistema y quieres agradecérnoslo, puedes dejar una propina de tan sólo 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarme a un café:
¡Gracias!