Cómo instalar Docker en Debian 11

Instalación de dependencias de paquetes para Docker

Docker es un conjunto de plataformas abiertas que proporciona virtualización a nivel de sistema operativo para desarrollar, enviar y ejecutar aplicaciones. En Docker, las aplicaciones se entregan como unidades estandarizadas de paquetes denominadas contenedores. Cada contenedor está aislado entre sí, incluidas las bibliotecas y los archivos de configuración, pero cada uno de ellos puede comunicarse a través de canales de red bien definidos.

Por ahora, Docker se ha convertido en un estándar para el desarrollo de software y DevOps. Lo utilizan millones de desarrolladores para crear, compartir y ejecutar cualquier aplicación todos los días en el trabajo. Se utiliza en el ciclo de vida del desarrollo de aplicaciones, desde el propio desarrollo, las pruebas y la producción. Con Docker, la aplicación se vuelve más flexible y portátil. Las aplicaciones se pueden ejecutar en cualquier lugar en diferentes sistemas operativos de una manera fácil, pero la aplicación en sí sigue siendo la misma, desde las bibliotecas hasta los archivos de configuración.

En este tutorial, aprenderá a instalar Docker en Debian 11 Bullseye. Además, aprenderá el uso básico de Docker para ejecutar contenedores y administrar imágenes.

requisitos previos

  • Un servidor Debian 11. Asegúrese de que todos los paquetes estén actualizados a la última versión.
  • Un usuario root o un usuario con privilegios de root. Este usuario se utilizará para instalar nuevos paquetes y editar configuraciones del sistema.

Instalar dependencias

Primero, instalará algunas dependencias de paquetes básicos en su sistema Debian.

1. Ejecute el comando apt a continuación para instalar nuevas dependencias de paquetes.

apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Escribe ‘y‘ y presione ‘Ingresar‘ para instalar todos esos paquetes.

Instalación de dependencias de paquetes para Docker

Agregar repositorio de Docker

Para esta guía, instalará Docker desde el repositorio oficial de Docker. Por lo tanto, agregará un nuevo repositorio de Docker a su sistema Debian.

1. Ejecute el siguiente comando para agregar la clave GPG para Docker.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

2. Después de eso, agregue el repositorio Docker para el sistema Debian 11 usando el siguiente comando.

echo \
 "deb [arch=amd64 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

3. Ahora ejecute el ‘actualización adecuada‘ comando para actualizar/refrescar todos los repositorios disponibles.

apt update

Ahora está listo para instalar Docker en Debian 11 Bullseye.

Agregar clave Docker y repositorio

Instalación de Docker en Debian 11

1. Si su sistema tiene Docker instalado desde el repositorio de Debian anteriormente, debe eliminarlo usando el siguiente comando.

sudo apt remove docker docker-engine docker.io containerd runc

2. Después de eso, puede instalar Docker nuevamente usando el comando apt a continuación.

apt install docker-ce docker-ce-cli containerd.io

Escribe ‘y‘ y presione ‘Ingresar‘ para confirmar la instalación.

Instalación del contenedor Docker

3. Si la instalación está completa, ejecute el siguiente comando para verificar la instalación.

Compruebe si el servicio está habilitado o no.

systemctl is-enabled docker
systemctl is-enabled containerd

Verifique el estado del servicio de Docker y Containerd.

systemctl status docker containerd

A continuación se muestra el resultado similar que obtendrá.

Comprobación del estado del servicio de la ventana acoplable

Como se ve, los servicios Docker y Containerd son activo (corriendo)y ambos servicios son activado y se ejecutará automáticamente al iniciar el sistema.

Permitir que un usuario no root acceda a Docker

De forma predeterminada, Docker permite solo al usuario ‘raíz‘ para ejecutar contenedores. Y para que un usuario no root pueda ejecutar contenedores, debe agregar su usuario no root al grupo ‘estibador‘, que se crea automáticamente durante la instalación de Docker.

1. Para este ejemplo, usará un usuario ‘johndoe‘ para ejecutar un contenedor Docker.

Cree el nuevo usuario ‘johndoe’ en su sistema Debian usando el siguiente comando.

useradd -m -s /bin/bash johndoe

2. Después de eso, ejecute el siguiente comando para agregar el usuario ‘johndoe‘al grupo’estibador‘.

usermod -aG docker johndoe

3. Ahora inicie sesión como usuario ‘johndoe‘ usando el siguiente comando y verifique la configuración.

su - johndoe

Ejecute el siguiente comando docker para verificar su instalación.

docker run hello-world

Y verás la ‘Hola ventana acoplable‘mensaje a continuación.

Permitir que un usuario no root ejecute docker - docker hello-world

A continuación se muestra una explicación simple del comando docker que ejecuta en la parte superior.

  • La ventana acoplable intentará encontrar un nombre de imagen ‘hello-world’. Si la imagen está disponible localmente, Docker ejecutará el contenedor; si la imagen no está disponible localmente, Docker buscará y descargará la imagen ‘hello-world’ en Docker-hub (repositorio de imágenes de docker predeterminado).
  • Si se descarga la imagen de la ventana acoplable, la ventana acoplable ejecutará el contenedor. Y el contenedor ejecuta comandos y le muestra el mensaje ‘Hola Docker’.

4. Ahora verifique el contenedor de la ventana acoplable usando el comando de la ventana acoplable a continuación.

Comprobando contenedor con estado ‘correr‘.

docker ps

Comprobación de todos los contenedores: se le mostrarán todos los contenedores, los que se están ejecutando actualmente y los contenedores detenidos.

docker ps -a

A continuación se muestra una salida similar a la siguiente.

Comprobación del estado del contenedor

Como puede ver, el nuevo nombre del contenedor ‘negrita_bartix‘ se crea con la imagen base ‘Hola Mundo‘, y el estado actual del contenedor es ‘Salido‘ o detenido. Docker elige aleatoriamente el nombre del contenedor ‘bold_bartix’ en la captura de pantalla, pero puede especificar el nombre de su contenedor.

Uso básico de Docker

Para esta etapa, aprenderá el uso muy básico de Docker para administrar imágenes y contenedores.

1. Primero, descargue las imágenes de Docker a su computadora local usando el siguiente comando.

docker pull nginx:alpine

El comando descargará el nombre de la imagen Docker ‘nginx‘ y etiqueta ‘alpino‘ a su sistema.

Descargar imagen acoplable

El término ‘etiquetas‘ es como una versión de la imagen misma. Los ‘nginx: alpino‘ significa el ‘nginx‘imagen con etiqueta’alpino‘, lo que significa basado en el sistema operativo Alpine Linux. Compruebe siempre todas las etiquetas disponibles de las imágenes de Docker en el repositorio oficial de Docker-Hub.

A continuación se muestra un ejemplo de todas las etiquetas disponibles para la imagen de Docker ‘nginx‘.

Etiquetas acoplables

Para verificar todas las imágenes acoplables disponibles en su sistema local, ejecute el siguiente comando acoplable.

docker images

Verá una salida similar a la siguiente.

Comprobación del contenedor en el sistema local

Como se ve, tiene dos imágenes de Docker, la nginx: alpino y Hola Mundo.

2. A continuación, ejecute el siguiente comando para ejecutar un contenedor.

docker run -it --rm -d -p 8080:80 --name web nginx:alpine

Ahora obtendrá la cadena aleatoria y el número del nuevo contenedor.

Opciones que debes conocer:

  • -i o –interactive: mantenga el contenedor STDIN abierto incluso si no está conectado.
  • -t o –tty: asigna una pseudo-terminal que conecta su terminal con STDIN y STDOUT del contenedor.
  • –rm – quitar automáticamente el contenedor cuando el contenedor se sale o se detiene.
  • -d – ejecutar el contenedor en segundo plano, desconectar el contenedor después de que se esté ejecutando.
  • -p 8080:80 – mapear el puerto entre el contenedor y el sistema host. El puerto ‘80‘ sobre el envase se asigna a la sistema anfitrión Puerto ‘8080‘.
  • –nombre web – especifique el nuevo nombre del contenedor como ‘web‘.
  • nginx: alpino – la imagen de Docker que usamos es ‘nginx: alpino‘.

Ahora verifique el contenedor en ejecución usando el siguiente comando.

docker ps

Verá un resultado similar al siguiente.

Contenedor acoplable en ejecución

Para verificar su contenedor Nginx, abra su navegador web y escriba la dirección IP de su servidor con el puerto ‘8080‘.

http://192.168.1.10:8080/

Y verá la página de índice de Nginx del contenedor ‘web ‘ como a continuación.

Verificar el estado de Nginx Docker contenedor

3. A continuación, puede verificar el registro del contenedor ejecutando el siguiente comando docker.

docker logs web

Y verá todos los registros de su contenedor, de principio a fin.

Registros de verificación de Docker

Para limitar la salida del registro, puede usar el ‘–cola n‘ opción como se muestra a continuación.

docker logs --tail 10 web

Y verás el últimas 10 líneas de los registros del contenedor.

Limite el inicio de sesión de Docker en Nlines

4. Ahora, para detener el contenedor Docker, puede usar el comando Docker a continuación.

docker stop web

Después de eso, verifique el contenedor en ejecución usando el siguiente comando.

docker ps
docker ps -a

Verá el siguiente resultado como se muestra a continuación.

Detener el contenedor acoplable y Comprobación del contenedor acoplable

Los ‘webEl contenedor se detiene y se elimina automáticamente. Es porque usas la opción ‘–rm‘ al ejecutar el contenedor.

5. A continuación, aprenderá a ejecutar el contenedor con el volumen personalizado. El directorio en la máquina host se utilizará como volumen para el contenedor de Docker.

Crear el nuevo ‘datos‘directorio y personalizado’índice.html‘archivo usando el siguiente comando.

mkdir -p ~/data/
nano ~/data/index.html

Copie y pegue el personalizado ‘índice.html‘ script como se muestra a continuación.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Welcome to Docker Nginx</title>
</head>
<body>
  <h2>Hello from Nginx container</h2>
</body>
</html>

Guarde la configuración presionando el botón ‘Control+x‘ botón, escriba ‘y‘, entonces presione ‘Ingresar‘.

A continuación, cree el nuevo contenedor con el siguiente comando acoplable.

docker run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine

Ahora obtendrá el número aleatorio y la cadena del contenedor.

La opción ‘-v ~/datos:/usr/share/nginx/html‘ montará el ‘~/datos‘ en la máquina local al contenedor en el ‘/usr/share/nginx/html‘directorio.

Ahora verifique el contenedor Docker usando el siguiente comando.

docker ps

Y verá una salida similar a la siguiente.

Contenedor docker en ejecución con volumen personalizado

A continuación, abra su navegador web nuevamente y escriba la dirección IP del servidor siguiendo con el puerto ‘8080‘ como a continuación.

http://192.168.1.10:8080/

Y obtendrá el ‘index.html’ personalizado que acaba de crear en la parte superior, lo que significa el ‘~/datos‘ el directorio está montado en el contenedor ‘/usr/share/nginx/html‘directorio.

Contenedor Nginx con index.html personalizado y volumen acoplable

6. Además, puede iniciar sesión en el contenedor en ejecución actual ‘web‘ ejecutando el siguiente comando docker.

Primero, verifique el contenedor ‘web‘ Esta corriendo.

docker ps

Ahora adjúntelo al contenedor ‘web’ usando el siguiente comando.

docker exec -it web /bin/sh

Dentro del contenedor, verifique el nombre de host del contenedor usando el siguiente comando.

hostname

Verifique la dirección IP del contenedor usando el ‘ip‘comando a continuación.

ip a

Verifique la tabla de enrutamiento del contenedor usando el siguiente comando.

route -n

A continuación se muestra el resultado similar que obtendrá.

Adjuntar al contenedor docker

Para limpiar su entorno actual, detenga el ‘web‘ contenedor usando el siguiente comando.

docker stop web

Además, puede eliminar todos los contenedores con el estado ‘salió‘ usando el siguiente comando.

docker rm $(docker ps --filter "status=exited" -q)

Conclusión

¡Felicidades! Ha instalado correctamente Docker en Debian 11 Bullseye. Además, aprendió el uso básico de Docker para extraer una imagen de Docker-Hub, ejecutar el contenedor de Docker, verificar el estado del contenedor de Docker, los registros y el uso básico del volumen de Docker. Para el siguiente paso, puede intentar crear su imagen de Docker personalizada para su aplicación y enviarla al repositorio de Docker Hub.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *