Introducción
Docker es una plataforma de contenedorización que le permite crear, probar e implementar rápidamente aplicaciones como contenedores portátiles e independientes que pueden ejecutarse prácticamente en cualquier lugar.
En este tutorial, explicaremos cómo instalar Docker en Debian 10 Buster y exploraremos los conceptos y comandos básicos de Docker.
Instalar Docker en Debian
Siga estos pasos para instalar la última versión estable de Docker desde los repositorios de Docker.
Instale los paquetes necesarios para agregar un nuevo repositorio a través de HTTPS:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
Importe la clave GPG del repositorio con el siguiente comando curl:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Si tiene éxito, el comando devolverá OK.
Agregue el repositorio APT Docker estable a la lista de repositorios de software de su sistema:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$ (lsb_release -cs) devolverá el nombre de la distribución Debian. En este caso buster.
Actualice la lista de paquetes de apt e instale la última versión de Docker CE (Community Edition):
sudo apt update
sudo apt install docker-ce
Una vez que se complete la instalación, el servicio Docker se iniciará automáticamente. Para comprobarlo, escriba:
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-09-07 11:32:00 GMT; 1min 15s ago
Docs: https://docs.docker.com...
En el momento de escribir estas líneas, la última versión estable de Docker es la 19.03.1:
docker -v
Docker version 19.03.1, build 74b1e89
Ejecutando el comando de Docker sin Sudo
De forma predeterminada, solo los usuarios root y con privilegios de sudo pueden ejecutar comandos de Docker.
Si desea ejecutar comandos de Docker sin anteponer sudo, debe agregar el usuario al grupo de Docker creado durante la instalación del paquete Docker CE. Para hacer esto, escriba:
sudo usermod -aG docker $USER
$ USER es una variable de entorno que contiene su nombre de usuario.
Cierre la sesión y vuelva a iniciarla para actualizar la pertenencia al grupo.
Una vez hecho esto, para verificar que puede ejecutar los comandos de la ventana acoplable sin escribir sudo:
docker container run hello-world
El comando descargará una imagen de prueba, la ejecutará en un contenedor, imprimirá un mensaje "Hola desde Docker " y saldrá.
Usando Docker
Ahora que ha instalado Docker en Debian 10, repasemos los conceptos y comandos básicos.
Imágenes de docker
Una imagen de Docker se compone de una serie de capas del sistema de archivos que representan instrucciones en la imagen de Dockerfile que componen una aplicación de software ejecutable. Una imagen es un archivo binario inmutable que incluye la aplicación y todas las demás dependencias, como bibliotecas, binarios e instrucciones necesarias para ejecutar la aplicación.
La mayoría de las imágenes de Docker están disponibles en Docker Hub. Es un servicio de registro basado en la nube que, entre otras características, se utiliza para mantener las imágenes de Docker en un repositorio público o privado.
Para buscar una imagen en el registro de Docker Hub, use el comando de búsqueda de Docker. Por ejemplo, para buscar una imagen de Debian, escriba:
docker search debian
Contenedores Docker
Una instancia de una imagen se llama contenedor. Un contenedor representa un tiempo de ejecución para una sola aplicación, proceso o servicio.
Para iniciar, detener, eliminar y administrar un contenedor, use el comando docker container. Por ejemplo, el siguiente comando iniciará un contenedor Docker basado en la imagen de Debian. Si la imagen no está presente localmente, se descargará primero:
docker container run debian
El contenedor Debian se detendrá inmediatamente después del inicio porque no tiene un proceso de ejecución prolongada y no se dan otros comandos. El contenedor arrancó, ejecutó un comando vacío y luego salió.
La opción -it le permite interactuar con el contenedor a través de la línea de comando. Para iniciar un tipo de contenedor interactivo:
docker container run -it debian /bin/bash
root@ff96b9b92c5d:/#
Como puede ver en el resultado anterior, una vez que se inicia el contenedor, el símbolo del sistema cambia, lo que significa que ahora está trabajando desde dentro del contenedor:
Para enumerar los contenedores Docker activos, use el siguiente comando:
docker container ls
Si no tiene ningún contenedor en ejecución, la salida estará en blanco.
Para ver los contenedores activos e inactivos, use la marca -a:
docker container ls -a
Para eliminar uno o más contenedores, simplemente copie el ID del contenedor (o ID) y péguelos después del comando container rm:
docker container rm c55680af670c
Conclusión
La instalación de Docker en Debian 10 es una operación relativamente sencilla. Docker es un estándar de facto para la tecnología de contenedores y es una herramienta esencial para los ingenieros de DevOps y su perfecta integración y canal de entrega.
Para obtener más información, consulte la documentación oficial de Docker.