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

Instalación y uso de Docker en CentOS y Fedora

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 usando YUM o DNF administrador de paquetes, incluidos CentOS y Fedora, 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 del motor Docker

Docker Engine es el software de creación de contenedores subyacente que se utiliza al implementar contenedores Docker. Las siguientes instrucciones instalarán Docker en CentOS y Fedora usando YUM administrador de paquetes.

Distribuciones admitidas: CentOS 7, CentOS 8 (incluidos otros derivados de RHEL 8 como AlmaLinux y RockyLinux) y Fedora 32 (y versiones posteriores)

Nota Mientras que el YUM el administrador de paquetes ha sido reemplazado por DNF en CentOS 8 y Fedora, el yum El comando todavía está presente como un enlace simbólico a DNF. Como tal, estas instrucciones aún funcionan según lo previsto.
  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 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. Instale las yum-utils paquete, que incluye yum-config-manager . Esto instalará automáticamente dnf-plugins-core al usar DNF.

    sudo yum install yum-utils
    
  3. Agrega el repositorio docker, usando yum-config-manager . Esto se asigna automáticamente al dnf config-manager comando cuando se usa DNF. En el siguiente comando, reemplaza [url] con la url del repositorio para tu distribución:

    sudo yum-config-manager --add-repo [url]
    
    • RHEL/CentOS y derivados: https://download.docker.com/linux/centos/docker-ce.repo
    • Fedora 32 y posteriores: https://download.docker.com/linux/fedora/docker-ce.repo
  4. Instale Docker Engine y otros paquetes necesarios:

    sudo yum install docker-ce docker-ce-cli containerd.io
    

    Durante este paso, es posible que se le solicite que acepte la clave GPG. La huella digital debe ser 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 . Verifique estos detalles e ingrese y para aceptar.

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

  • Instalar Docker Engine en CentOS
  • Instalar Docker Engine en Fedora

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.

Administración 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íasConfiguración y protección de una instancia informática oUsuarios 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. Instalación de JAVA 8 JDK en CentOS, RedHat y Fedora

  2. Cómo instalar docker en CentOS/RHEL/Fedora

  3. Cómo instalar Docker en Fedora 32 o 31 (y alternativas)

  4. Instalación de Docker en CentOS 6.6

  5. Instalación y uso de XeTeX

Cómo instalar Docker en CentOS 8

Instalación de Apache y PHP en CentOS 8

Cómo instalar Docker en Fedora 35

Cómo instalar Docker y Docker Compose en Linux

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

Cómo instalar y usar Docker en Ubuntu 20.04