GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Instalación y uso de Docker en Ubuntu y Debian

Docker es una herramienta que le permite crear, implementar y administrar paquetes ligeros e independientes llamados contenedores . Estos contenedores tienen el código, las bibliotecas, el tiempo de ejecución, la configuración del sistema y las dependencias necesarias para ejecutar una aplicación.

Esta guía cubre la instalación de Docker Engine en varias distribuciones de Linux utilizando apt administrador de paquetes, incluidos Ubuntu y Debian, además de obtener y ejecutar imágenes de Docker.

Antes de comenzar

  1. Asegúrese de tener acceso de línea de comandos a un servidor Linux que ejecute una distribución de Linux compatible. De lo contrario, siga las guías Introducción y Configuración y protección de una instancia informática para crear un nuevo Linode.

    Nota Esta guía está escrita para un usuario no root. Los comandos que requieren privilegios elevados tienen el prefijo sudo . Si no está familiarizado con sudo comando, consulte la guía Usuarios y grupos.
  2. Revise las siguientes guías de Docker para obtener una mejor comprensión de Docker, sus beneficios y cuándo usarlo.

    • Una introducción a Docker
    • Cuándo y por qué usar Docker

Instalación de Docker Engine en Ubuntu y Debian

Docker Engine es el software de creación de contenedores subyacente que se utiliza al implementar contenedores Docker. Las siguientes instrucciones instalarán Docker Engine en una de estas versiones compatibles de Ubuntu y Debian:

Distribuciones admitidas: Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Debian 10, Debian 9. Las versiones recientes que no sean LTS como Ubuntu 21.04, 20.10 y 21.10 también deberían ser compatibles.

  1. Asegúrese de que Docker no esté instalado actualmente. La salida que indica que alguno de los paquetes no se encuentra se puede ignorar de forma segura.

    sudo apt remove docker docker-engine docker.io
    
  2. Instale los paquetes necesarios para configurar el repositorio de Docker:

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
    
  3. Agregue la clave GPG de Docker. En el siguiente comando, reemplaza [url] con la URL que corresponda con la distribución que está ejecutando su sistema.

    curl -fsSL [url]/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    • Ubuntu: https://download.docker.com/linux/ubuntu
    • Debian: https://download.docker.com/linux/debian
  4. Agrega el estable Repositorio Docker, reemplazando nuevamente [url] con la URL que corresponda con la distribución que está ejecutando su sistema.

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [url] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. Instale Docker Engine y otros paquetes necesarios:

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

Se pueden encontrar instrucciones de instalación adicionales para estas distribuciones en la documentación de Docker:

  • Instalar Docker Engine en Ubuntu
  • Instalar Docker Engine en Debian

Inicio y prueba de Docker

Después de instalar Docker Engine, inicie Docker y verifique que todo funcione ejecutando una imagen de prueba.

  1. Asegúrese de que el servidor Docker se esté ejecutando.

    sudo systemctl start docker
    
  2. Opcionalmente, configure Docker para que se inicie cuando se inicie el servidor. Esto se recomienda si tiene la intención de ejecutar una aplicación de producción dentro de esta instalación de Docker.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Verifique que Docker esté instalado correctamente ejecutando la imagen "hello-world".

    sudo docker run hello-world
    

    Si tiene éxito, Docker debería descargar y ejecutar la imagen hello-world y generar un mensaje de éxito. Entre otro texto, la salida debe incluir un mensaje similar al siguiente:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Uso de Docker con un usuario no root

Por defecto, sudo se requiere para ejecutar los comandos de Docker, pero un nuevo grupo, llamado docker , se creó durante la instalación. Cuando se inicia el demonio Docker, abre un socket Unix para el docker miembros del grupo.

Antes de continuar, asegúrese de tener una cuenta de usuario limitada que no pertenecen al grupo sudo. Si aún no ha creado una cuenta de usuario limitada, consulte las guías Configuración y protección de una instancia informática o Usuarios y grupos de Linux para obtener instrucciones.

  1. Ingrese el siguiente comando para agregar un usuario a la docker grupo, reemplazando a [usuario] con el nombre de su cuenta de usuario limitada.

    sudo usermod -aG docker [user]
    
  2. Inicie sesión en el sistema como usuario limitado.

  3. Verifique que el usuario limitado pueda ejecutar docker comandos sin sudo ejecutando la imagen "hello-world" una vez más.

    docker run hello-world
    

    La salida debe tener un mensaje de éxito similar al de la salida anterior.

Precaución El docker El grupo otorga privilegios similares a los del usuario root. Consulte la guía Docker Daemon Attack Surface en la documentación de Docker para obtener más información sobre cómo puede afectar la seguridad del sistema. Para ejecutar el demonio de Docker sin usar privilegios de root, siga las instrucciones dentro de Ejecute el demonio de Docker como usuario no root (modo sin raíz).

Resolver errores al cargar archivos de configuración

Si el usuario hubiera ejecutado sudo docker comandos antes de unirse al grupo, es posible que se les presente un error al cargar el archivo de configuración, como este:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

El problema es que el directorio .docker en su directorio de inicio (~/.docker) se creó con permisos otorgados por sudo .

Hay dos soluciones posibles:

  1. Elimina el .docker directorio de su directorio de inicio. Docker lo volverá a crear automáticamente, pero se perderá cualquier configuración personalizada.

  2. Cambie los permisos en .docker directorio usando los comandos:

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Uso de imágenes de Docker para implementar contenedores

Las imágenes de Docker son plantillas que incluyen las instrucciones y especificaciones para crear un contenedor. Para usar Docker, primero debe obtener una imagen o crear una propia creando un archivo docker. Para obtener más información, consulte Introducción a Docker.

Listado de imágenes

Para enumerar todas las imágenes en su sistema, ejecute el siguiente comando. Esto debería generar el hello-world imagen que se utilizó en un paso anterior, así como cualquier imagen adicional que ya haya obtenido.

docker images

Encontrar una imagen

Las imágenes se almacenan en registros de Docker, como Docker Hub (registro oficial de Docker). Puede buscar imágenes en ese sitio web o usar el siguiente comando para buscar en el registro de Docker. En el siguiente comando, reemplace [keyword] con las palabras clave que le gustaría buscar, como nginx o apache .

docker search [keyword]

Obtención de una imagen

Una vez que encuentre una imagen, descárguela a su servidor. En el siguiente comando, reemplaza [image] con el nombre de la imagen que te gustaría usar.

docker pull [image]

Por ejemplo, para desplegar la imagen oficial de nginx, ejecute:docker pull nginx .

Ejecutar una imagen

A continuación, cree un contenedor basado en la imagen utilizando docker run dominio. Nuevamente, reemplace [image] con el nombre de la imagen que te gustaría usar.

docker run [image]

Si la imagen aún no se ha descargado y está disponible en el registro de Docker, la imagen se bajará automáticamente a su servidor.

Administración de contenedores Docker

Listado de Contenedores

Para enumerar todos los contenedores Docker activos (e inactivos) que se ejecutan en su sistema, ejecute el siguiente comando:

docker ps -a

La salida debe parecerse a la siguiente. Esta salida de muestra muestra el hello-world contenedor.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Inicio de un contenedor

Inicie un contenedor Docker con el siguiente comando, reemplazando [ID] con el ID del contenedor correspondiente al contenedor que desea iniciar:

docker start [ID]

Detener un Contenedor

Detenga un contenedor Docker con el siguiente comando, reemplazando [ID] con el ID del contenedor correspondiente al contenedor que desea detener:

docker stop [ID]

Algunas imágenes (como el hello-world image) se detienen automáticamente después de ejecutarse. Sin embargo, muchos otros contenedores continúan ejecutándose hasta que se les ordena explícitamente que se detengan, y es posible que desee ejecutar estos contenedores en segundo plano. Para esos casos, este comando puede ser útil.

Eliminación de un contenedor

Elimine un contenedor Docker con el siguiente comando, reemplazando [ID] con el ID del contenedor correspondiente al contenedor que desea eliminar:

docker rm [ID]

Más información

Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.

  • Sitio web para Docker
  • Documentación para Docker
  • Sitio web para contenedores

Docker
  1. Cómo instalar Docker en Debian/Ubuntu

  2. ¿Problemas de Docker en Ubuntu 20.04?

  3. Instalación y uso de Docker en CentOS y Fedora

  4. Cómo hacer una instalación de Docker sin raíz (en Ubuntu y Debian)

  5. Instalación de Docker (Ubuntu)

Cómo instalar Gitea en Ubuntu usando Docker

Cómo instalar y usar Docker en Ubuntu 22.04

Instalación adecuada de Docker en Ubuntu [Guía para principiantes]

Cómo instalar y usar Docker en Ubuntu 20.04

Cómo crear un usuario Sudo en Ubuntu y Debian

Cómo usar apt-get reinstall en Debian y Ubuntu