Cómo instalar Docker en Debian 12, 11 o 10

Docker ha ganado rápidamente popularidad debido a su capacidad para simplificar el proceso de implementación mediante la creación de contenedores de aplicaciones, lo que garantiza la coherencia en múltiples entornos. Su naturaleza liviana y su capacidad de escalar de manera eficiente lo han convertido en uno de los favoritos entre los desarrolladores y profesionales de TI.

  • Portabilidad: Los contenedores Docker pueden ejecutarse en cualquier sistema que admita Docker, lo que garantiza que su aplicación funcione sin problemas en diferentes entornos.
  • Aislamiento: Cada contenedor opera de forma independiente, lo que reduce el riesgo de conflictos y facilita la gestión de dependencias.
  • Eficiencia: Los contenedores comparten el kernel del sistema operativo host, lo que los hace más eficientes que las máquinas virtuales tradicionales.
  • Escalabilidad: Docker permite escalar fácilmente las aplicaciones, acomodando cargas variables agregando o eliminando contenedores.
  • Control de versiones: Realice un seguimiento de los cambios y retroceda a versiones anteriores sin esfuerzo, mejorando el flujo de trabajo de desarrollo e implementación.

Debian es una opción preferida para emparejar con Docker por varias razones:

  • Estabilidad: Conocido por su naturaleza robusta y confiable, Debian garantiza una base estable para los contenedores Docker.
  • Seguridad: Las actualizaciones periódicas y un fuerte enfoque en la seguridad hacen de Debian un entorno seguro para implementar aplicaciones.
  • Soporte comunitario: Una comunidad grande y activa proporciona documentación y soporte completos, lo que facilita la resolución de problemas.
  • Actuación: Ligero y eficiente, Debian garantiza que los contenedores Docker funcionen sin problemas con una sobrecarga mínima.

Una vez terminada la introducción, exploremos cómo instalar Docker en Debian, utilizando comandos de terminal y varios métodos para que su entorno esté en funcionamiento de manera eficiente.

Pasos previos a la instalación de Docker

Configurar Docker CE en su sistema Debian es sencillo pero meticuloso. Antes de profundizar en el proceso de instalación, preparemos el escenario para una ejecución sin errores.

Paso 1: eliminar instancias de Docker anteriores

Nota: Si no tiene instalada la versión predeterminada de Docker desde el repositorio de Debian, omita el paso de eliminación.

Primero, debemos eliminar cualquier instalación de Docker preexistente para garantizar un entorno libre de conflictos. Las versiones anteriores de Docker podrían interferir con nuestra próxima instalación y provocar errores inesperados. Utilice el siguiente comando para desinstalar iteraciones antiguas de Docker, si existen:

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

Si no hay instancias de Docker más antiguas que eliminar, el apt El administrador de paquetes devolverá un mensaje indicando que no hay nada que desinstalar.

Es fundamental recordar que la desinstalación de Docker no elimina automáticamente las imágenes, contenedores, volúmenes o redes de Docker que normalmente se almacenan en /var/lib/docker/. Si tiene la intención de comenzar de nuevo y eliminar todos los datos relacionados con Docker, use estos comandos:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Con esto, habrá eliminado cualquier posible residuo de Docker que pueda influir en su proceso de instalación.

Paso 2: actualice los paquetes de Debian antes de la instalación de Docker

Después de eliminar versiones anteriores de Docker, asegúrese de que su sistema Debian esté completamente actualizado como siguiente paso. La actualización promueve la estabilidad del sistema y garantiza que los paquetes de su sistema tengan sus últimas versiones, minimizando posibles conflictos y vulnerabilidades.

Para actualizar la lista de paquetes disponibles y actualizar los instalados, ejecute el siguiente comando:

sudo apt update && sudo apt upgrade

Este comando primero actualizará la lista de paquetes disponibles (apt update), seguido de la actualización de cualquier paquete obsoleto (apt upgrade).

Importar el repositorio APT de Docker CE

Para instalar Docker CE con éxito, es esencial configurar su sistema Debian para acceder al repositorio de Docker. Esto implica integrar el repositorio de Docker en su sistema e importar la clave GPG correspondiente. Estos pasos garantizan la autenticidad de los paquetes Docker descargados y mitigan el riesgo de modificaciones no autorizadas.

Paso 1: Instale los paquetes iniciales para Docker CE

Inicialmente, es posible que el sistema carezca de los paquetes necesarios para este proceso. Rectifiquemos eso instalándolos. Ejecute el siguiente comando para instalar estos paquetes críticos:

sudo apt install ca-certificates curl gnupg lsb-release dirmngr software-properties-common apt-transport-https

Aquí estás aprovechando el apt administrador de paquetes para instalar una variedad de herramientas, como ca-certificates para la verificación del certificado, curl para transferir datos, gnupg para la gestión de claves, y otros necesarios para este proceso.

Paso 2: Agregar la clave GPG de Docker CE

Después de instalar los paquetes necesarios, importemos la clave Docker GPG. Esta clave permite que su sistema verifique la integridad de los paquetes descargados del repositorio de Docker.

Utilice los siguientes comandos para descargar y guardar la clave GPG:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

El curl El comando recupera la clave GPG del repositorio de Docker, que luego es procesada por gpg --dearmor para convertirlo al formato binario que apt requiere.

Paso 3: Agregar el repositorio APT de Docker CE

Con la clave GPG en su lugar, ahora puede importar el repositorio de Docker. Aquí está el comando para lograrlo:

echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Este comando de apariencia compleja agrega el repositorio de Docker a la lista de fuentes de su sistema y lo vincula a la clave GPG descargada previamente. Este enlace verifica la integridad de los paquetes descargados del repositorio de Docker, manteniendo su sistema seguro.

Finalizar la instalación de Docker

Esta sección describe los pasos necesarios para instalar Docker CE en su sistema Debian. Aprenderá cómo actualizar la información del repositorio de su sistema, instalar Docker y verificar la instalación ejecutando una imagen de prueba de Docker. Además, la sección incluye una práctica de seguridad crucial para garantizar el manejo seguro de los contenedores e imágenes de Docker.

Paso 1: actualice la caché APT de Debian después de la importación del repositorio Docker CE

Antes de iniciar la instalación de Docker, es ventajoso asegurarse de que la información del repositorio de su sistema esté actualizada, especialmente con el repositorio de Docker agregado recientemente. Para actualizar la información del repositorio, ejecute el siguiente comando:

sudo apt update

Este comando actualiza las listas de paquetes de su sistema, incluidos los detalles sobre las últimas versiones de los paquetes y sus dependencias.

Paso 2: instale Docker mediante el comando APT

Con la información del repositorio del sistema actualizada, puede continuar con la instalación de Docker. Aquí está el comando para instalar Docker junto con algunos complementos adicionales que mejoran su experiencia con Docker:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

En este comando, estás instalando docker-ce (Edición de la comunidad Docker), docker-ce-cli (la interfaz de línea de comandos de Docker), containerd.io (un tiempo de ejecución estándar de la industria) y dos complementos de Docker útiles para crear imágenes y administrar aplicaciones de múltiples contenedores.

Paso 3: verificar la instalación de Docker CE en Debian

Después de completar la instalación de Docker, verifique con prudencia su correcta instalación ejecutando una imagen de prueba de Docker:

sudo docker run hello-world

Este comando tira del hello-world imagen del repositorio de Docker, crea un nuevo contenedor a partir de esta imagen y ejecuta el contenedor. Cuando se ejecuta, imprime un mensaje de bienvenida, confirmando así que Docker está funcionando como se esperaba.

Paso 4: ejecutar Docker como usuario no root

Por razones de seguridad, configure Docker para que se ejecute como usuario no root. Esta práctica protege su sistema contra cambios accidentales o maliciosos que podrían causar daño. Una sección posterior discutirá este aspecto más a fondo.

Consejo para la solución de problemas de Docker

Al interactuar con contenedores e imágenes de Docker, si encuentra algún problema, reiniciar el sistema podría ayudar a resolverlo, en particular los relacionados con la generación de rutas. Para reiniciar su sistema, use el siguiente comando:

reboot

Administrar Docker a través de Systemd

Este segmento explorará cómo manipular el servicio Docker usando systemd. Systemd es un componente fundamental de muchas distribuciones de Linux, incluido Debian, y proporciona funcionalidades para administrar procesos y servicios del sistema. Cuando Docker instala una unidad systemd en su sistema Debian, esto presenta una forma eficiente de administrar el servicio Docker.

Iniciar el servicio Docker a través de systemd

Para utilizar Docker, el servicio debe estar ejecutándose activamente en su sistema Debian. Systemd facilita esto a través del siguiente comando:

systemctl start docker.service

Este comando inicia el servicio Docker y lo configura para que se inicie automáticamente al iniciar el sistema, garantizando su disponibilidad después de cada inicio.

Detener el servicio Docker a través de systemd

En determinadas circunstancias, es posible que desee detener el servicio Docker. Systemd proporciona un comando sencillo para lograr esto:

systemctl stop docker.service

Este comando detiene el servicio Docker y evita que se inicie automáticamente en el siguiente inicio del sistema.

Reinicie el servicio Docker a través de systemd

Es posible que en ocasiones desee reiniciar el servicio Docker, especialmente al solucionar problemas relacionados con Docker. Systemd proporciona la funcionalidad para reiniciar el servicio Docker con este comando:

systemctl restart docker.service

Este comando detiene e inicia el servicio Docker, aplicando efectivamente las configuraciones más recientes.

Verifique el estado del servicio Docker a través de systemd

Para verificar el estado operativo del servicio Docker, ya sea que esté ejecutándose, detenido o inactivo, puede usar el siguiente comando systemd:

systemctl status docker.service

El comando recupera y muestra el estado actual del servicio Docker, proporcionando información sobre su condición operativa.

Habilite el servicio Docker en el arranque del sistema Debian a través de systemd

Si desea que el servicio Docker se inicie automáticamente al iniciar el sistema, el método preferido es habilitarlo a través de systemd:

systemctl enable docker.service

Este comando ajusta la configuración del servicio Docker para que se inicie automáticamente en cada inicio del sistema, proporcionando disponibilidad continua de las funcionalidades de Docker.

Deshabilite el servicio Docker al iniciar el sistema a través de systemd

Si decide que el servicio Docker no se inicie automáticamente durante el inicio del sistema, systemd puede atender esta solicitud con el siguiente comando:

systemctl disable docker.service

Este comando altera la configuración del servicio Docker, evitando que se inicie automáticamente durante el inicio del sistema.

Al utilizar los comandos systemd, puede administrar eficazmente el servicio Docker en su sistema Debian, proporcionando un alto grado de control sobre el comportamiento operativo de Docker. Las siguientes secciones profundizarán en más detalles sobre el uso y la administración de contenedores e imágenes de Docker.

Ejemplos de cómo configurar Docker

En esta parte de la guía, profundizamos en la configuración de Docker. Esto incluye administrar Docker como usuario no root, lo que mejora la seguridad, y modificar el controlador de registro predeterminado para adaptarlo mejor a sus necesidades.

Paso 1: ejecutar Docker como usuario no root

Si bien puede ejecutar Docker como usuario root, no se recomienda hacerlo debido a posibles riesgos de seguridad y modificaciones accidentales en su sistema host Debian. En su lugar, administre las operaciones de Docker con una cuenta de usuario que no sea root para mejorar la seguridad.

Para crear un nuevo usuario específicamente para la administración de Docker, ejecute los siguientes comandos:

sudo useradd -m dockeruser
sudo usermod -aG docker dockeruser

Estos comandos crean un nuevo usuario llamado 'dockeruser' y lo agregan al grupo Docker. Ser miembro del grupo Docker otorga al usuario los permisos necesarios para ejecutar comandos de Docker.

Si desea asignar su usuario actual al grupo Docker, reemplace 'dockeruser' con su nombre de usuario. Por ejemplo, para un usuario llamado 'joshua', el comando sería:

sudo usermod -aG docker joshua

Después de realizar estos cambios, cierre sesión y vuelva a iniciarla para aplicar las modificaciones. A veces, es posible que necesites reiniciar el sistema para propagar estos cambios.

Para confirmar que el usuario tiene permiso para ejecutar comandos de Docker, utilice el siguiente comando:

docker ps

El comando debería mostrar una lista de contenedores Docker en ejecución, lo que indica una instalación exitosa.

Paso 2: Modificar el controlador de registro predeterminado de Docker

Docker, de forma predeterminada, registra eventos en formato de archivo JSON. No obstante, la flexibilidad de Docker le permite cambiar el controlador de registro predeterminado a un formato diferente o incluso configurarlo para reenviar registros a un sistema de administración de registros remoto.

Para modificar el controlador de registro predeterminado, debe crear un nuevo archivo llamado daemon.json en el /etc/docker/ directorio. Utilizando un editor de texto como nano, ejecute el siguiente comando:

sudo nano /etc/docker/daemon.json

Cuando el archivo esté abierto, pegue el siguiente contenido en él:

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://logs.example.com:514",
    "syslog-facility": "daemon",
    "tag": "{{.Name}}"
  }
}

Docker utiliza el controlador syslog en esta configuración y transmite registros a un servidor syslog remoto. Reemplace logs.example.com con la dirección de su servidor syslog.

Una vez que la configuración esté implementada, reinicie el demonio Docker usando el siguiente comando para aplicar la nueva configuración del controlador de registro:

sudo systemctl restart docker.service

Recuerde cualquier modificación realizada en el daemon.json El archivo requiere reiniciar el demonio Docker para que se apliquen los cambios.

Ejemplos de comandos de Docker

En este segmento, profundizamos en el uso de comandos de Docker que desempeñan un papel vital en la gestión eficaz de contenedores, imágenes, redes y volúmenes de Docker. El docker Command proporciona un conjunto de herramientas robusto y versátil diseñado para simplificar y automatizar tareas en su entorno Docker.

Fundamentos de los comandos de Docker

Familiarizarse con la interfaz de línea de comandos (CLI) de Docker es esencial para dominar Docker. A continuación se muestra una variedad de comandos que encontrará con frecuencia en su viaje a Docker:

  • docker run: lanza un nuevo contenedor a partir de una imagen.
  • docker ps: Muestra todos los contenedores actualmente en ejecución.
  • docker images: enumera todas las imágenes disponibles localmente.
  • docker build: construye una nueva imagen a partir de un Dockerfile.
  • docker stop: detiene un contenedor actualmente en ejecución.
  • docker rm: Elimina un contenedor.
  • docker rmi: elimina una imagen.
  • docker network: Administra redes Docker.
  • docker volume: gestiona volúmenes de Docker.

Cada comando tiene un conjunto único de opciones que le permiten modificar su comportamiento para satisfacer sus necesidades. Exploremos cada comando y sus respectivas opciones.

El ejecución de la ventana acoplable Dominio

El docker run El comando crea un nuevo contenedor a partir de una imagen especificada. Por ejemplo, para iniciar un contenedor desde la imagen de Debian y abrir un shell interactivo dentro de él, use el siguiente comando:

docker run -it debian:latest /bin/bash

El ventana acoplable ps Dominio

El docker ps El comando se implementa para registrar todos los contenedores actualmente activos. Revela información valiosa sobre cada contenedor, incluido el ID del contenedor, la imagen asociada y el estado de ejecución. Para obtener una lista de todos los contenedores en ejecución, simplemente escriba:

docker ps

El Imágenes de docker Dominio

El docker images El comando tiene la tarea de enumerar todas las imágenes de Docker disponibles localmente. Devuelve información sobre cada imagen, incluido su ID, repositorio asociado y etiqueta:

docker images

El construcción de ventana acoplable Dominio

El docker build El comando se utiliza para crear una nueva imagen de Docker a partir de un Dockerfile. Un Dockerfile es esencialmente un script que contiene instrucciones para construir una imagen de Docker. Por ejemplo, para crear una nueva imagen llamada 'miimagen' usando el Dockerfile en el directorio actual, usaría el siguiente comando:

docker build -t myimage:latest .

El parada de la ventana acoplable Dominio

El docker stop El comando finaliza correctamente un contenedor Docker en ejecución. Puede apuntar al contenedor deseado utilizando su ID. Por ejemplo, para detener un contenedor con ID 'abcdefg', usarías:

docker stop abcdefg

El habitación acoplable Dominio

Utilizar el docker rm comando para eliminar un contenedor Docker. Como el stop comando, especifique el ID del contenedor que desea eliminar. Por ejemplo:

docker rm abcdefg

El acoplador rmi Dominio

Utilizar el docker rmi comando para eliminar imágenes de Docker. Identifique la imagen que desea eliminar por su ID. Por ejemplo:

docker rmi 1234567

El red acoplable Dominio

El docker network El comando es una herramienta versátil para crear, enumerar y eliminar redes Docker. Por ejemplo, para crear una nueva red llamada 'mired', usarías:

docker network create mynetwork

El volumen de la ventana acoplable Dominio

Finalmente, el docker volume El comando ofrece funcionalidades para administrar volúmenes Docker. Por ejemplo, para crear un nuevo volumen llamado "mivolumen", usaría:

docker volume create myvolume

Navegando por la gestión de contenedores Docker

La gestión eficaz de los contenedores Docker influye significativamente en la funcionalidad y la longevidad de un entorno Docker. El comando Docker proporciona una variedad de subcomandos cruciales para manipular contenedores Docker. Estos subcomandos facilitan la creación, operación, modificación y eliminación de contenedores. Ya sea que sea un desarrollador experimentado o un principiante en la creación de contenedores, comprender estos comandos puede mejorar sustancialmente su interacción con Docker.

Comandos principales para la gestión de contenedores Docker

El comando docker ps es una herramienta esencial en su kit de herramientas Docker para enumerar todos los contenedores en ejecución. Al ejecutar este comando, puede ver todos los contenedores activos, su imagen correspondiente, su estado y su ID de contenedor único.

docker ps

Para finalizar un contenedor Docker actualmente activo, el docker stop Se despliega el comando. Agrega el ID único o el nombre del contenedor que desea detener.

docker stop abcdefg

El docker rm El comando se utiliza para erradicar un contenedor Docker. Este comando, como docker stop, acepta el ID exclusivo del contenedor o el nombre como argumento.

docker rm abcdefg

Es fundamental tener en cuenta que eliminar un contenedor descarta cualquier modificación realizada. Debe crear una nueva imagen desde el contenedor modificado usando el comando 'docker commit' para conservar los cambios.

Retener cambios en el contenedor mediante la confirmación de Docker

Mientras trabaja con contenedores Docker, es posible que necesite personalizar un contenedor y conservar estas modificaciones como una nueva imagen. Esto se puede lograr usando el docker commit dominio.

Inicie un nuevo contenedor utilizando una imagen base y realice las modificaciones necesarias dentro de este contenedor. Por ejemplo, considere iniciar un nuevo contenedor a partir de la imagen de Debian y abrir un shell dentro del contenedor:

docker run -it --name mycontainer debian:latest /bin/bash

Puede realizar varias tareas en este nuevo contenedor, como modificar archivos de configuración o instalar nuevo software. Después de realizar los cambios deseados, utilice el docker commit comando para producir una nueva imagen que encapsule estas alteraciones. Para crear una nueva imagen llamada 'miimagen' con los cambios realizados en el contenedor 'micontenedor', ejecute el siguiente comando:

docker commit mycontainer myimage:latest

Ahora posee una imagen llamada 'miimagen', que incorpora los cambios realizados en el contenedor 'micontenedor'. Utilice esta nueva imagen para generar y operar nuevos contenedores con configuraciones o software actualizados.

Recuerde, el comando docker commit solo guarda las modificaciones realizadas en el sistema de archivos del contenedor, no conserva los cambios en la red y el almacenamiento. Si es necesario conservar los cambios en las redes y el almacenamiento, considere usar otros comandos de Docker, como Docker Network y Docker Volume.

Terminando

Profundizamos en la instalación y administración de Docker Community Edition (CE) en una distribución Debian Linux a lo largo de nuestra discusión. Docker CE ofrece todos los beneficios de la contenedorización, permitiendo a los desarrolladores crear, enviar y ejecutar aplicaciones distribuidas en diferentes entornos. Los comandos de Docker y los casos de uso que se analizan aquí ofrecen conocimientos básicos para gestionar contenedores de Docker. Si bien el artículo abordó los comandos fundamentales de Docker como docker run, docker ps, docker rm, y otros.

Recuerde que el ecosistema Docker es mucho más amplio, con numerosos comandos y opciones que puede explorar para perfeccionar su experiencia Docker.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario