GNU/Linux >> Tutoriales Linux >  >> Fedora

Cómo instalar Docker en el sistema Fedora Linux

Docker es una herramienta que se utiliza para ejecutar software en un contenedor. Es una excelente manera para que los desarrolladores y usuarios se preocupen menos por la compatibilidad con un sistema operativo y las dependencias, ya que el software contenido debe ejecutarse de manera idéntica en cualquier sistema.

Docker está disponible para descargar e instalar en Fedora, así como en la mayoría de las otras distribuciones de Linux. Sin embargo, instalarlo en Fedora puede ser un poco complicado porque Red Hat no ofrece soporte nativo para Docker en sus distribuciones. En cambio, Red Hat impulsa el soporte para Podman, una alternativa a Docker. Esto hace que Docker sea un poco más difícil de instalar, pero aún es posible en Fedora.

En esta guía, le mostraremos cómo instalar Docker en Fedora y comenzar a instalar software en contenedores. Después de instalar Docker, puede usarlo para instalar paquetes de software de la misma manera que usaría el administrador de paquetes de su distribución para descargar una aplicación. La diferencia de usar Docker es que todo está más automatizado, y la compatibilidad y las dependencias ya no son problemas potenciales.

En este tutorial aprenderás:

  • Cómo instalar Docker
  • Cómo iniciar Docker y hacer que se ejecute automáticamente al arrancar
  • Cómo ejecutar Docker sin root
  • Cómo buscar una imagen de Docker
  • Cómo instalar una imagen de Docker
  • Cómo ejecutar una imagen de Docker
  • Cómo monitorear Docker con varios comandos
  • Cómo iniciar automáticamente un contenedor Docker

Docker ejecutando una imagen de contenedor en Fedora Linux

Instalar Docker en Fedora

Red Hat ha puesto algunos obstáculos en nuestro camino, por lo que no podemos instalar Docker con una simple dnf install dominio. Primero necesitaremos agregar el repositorio de Docker a nuestro sistema y luego desinstalar algunos paquetes en conflicto que están instalados de forma predeterminada en Fedora.

  1. Comience instalando el dnf-plugins-core paquete, en caso de que no esté ya en su sistema. Esto le permitirá administrar sus repositorios dnf y agregarles el repositorio oficial de Docker.
    $ sudo dnf -y install dnf-plugins-core
    
  2. A continuación, agregue el repositorio de Docker a su sistema con el siguiente comando.
    $ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
    
  3. Antes de comenzar a instalar Docker, debemos eliminar el podman y buildah paquetes de nuestro sistema, ya que entran en conflicto con Docker e impedirán su instalación.
    $ sudo dnf remove podman buildah
    
  4. Finalmente, podemos instalar los tres paquetes Docker que necesitaremos ejecutando el siguiente comando.
    $ sudo dnf install docker-ce docker-ce-cli containerd.io
    
  5. Una vez completada la instalación, inicie el servicio Docker y, opcionalmente, habilítelo para que se ejecute siempre que se reinicie el sistema:
    $ sudo systemctl start docker.service
    $ sudo systemctl start containerd.service
    $ sudo systemctl enable docker.service
    $ sudo systemctl enable containerd.service
    
  6. Puede verificar que Docker esté instalado y recopilar información sobre la versión actual ingresando este comando:
    $ sudo docker version
    
  7. Salida del comando de versión docker

  8. También hay una manera rápida y fácil de ver cuántos contenedores Docker se están ejecutando actualmente y ver algunas de las opciones configuradas de Docker ingresando:
    $ sudo docker info
    
  9. Salida del comando docker info que muestra su configuración

Ejecutar Docker sin root

Por defecto, tendrás que usar sudo o inicie sesión para rootear en cualquier momento que desee ejecutar un comando de Docker. El siguiente paso es opcional, pero si prefiere la capacidad de ejecutar Docker como su usuario actual, agregue su cuenta al grupo de Docker con este comando:

$ sudo usermod -aG docker $USER

Deberá reiniciar su sistema para que esos cambios surtan efecto.

$ reboot

Buscando una imagen de Docker

Ahora está listo para instalar imágenes con Docker. Si ya conoce el nombre de una imagen que le gustaría instalar, puede pasar a la siguiente sección. Si necesita buscar a través de Docker el software deseado, puede usar la siguiente sintaxis de comando:

$ docker search [name]

Por ejemplo, intentemos buscar nginx, que es un popular software de servidor web.

$ docker search nginx

Docker puede buscar cualquier imagen de contenedor disponible

Como puede ver, hay una imagen oficial para nginx (indicada por OFFICIAL columna) simplemente llamado nginx . También hay otros lanzamientos disponibles, y tendrías que leer sus descripciones para ver qué hacen diferente a la imagen oficial.

Instalar una imagen de Docker

Una vez que sepa qué imagen desea instalar, puede usar el siguiente comando para indicarle a Docker que descargue el software deseado. Solo como ejemplo, instalaremos el hello-world paquete que se puede usar para asegurarse de que Docker pueda descargar y ejecutar imágenes correctamente.

$ docker pull hello-world

Docker descargando una imagen de contenedor

El resultado de la captura de pantalla anterior indica que Docker pudo encontrar y descargar la imagen que especificamos.

Ejecutar una imagen de Docker

Ahora que la imagen está descargada, ejecútela con el siguiente comando:

$ docker run hello-world

Docker pudo ejecutar la imagen hello-world con éxito

Docker de supervisión

Docker nos brinda muchas opciones para ver qué está pasando con nuestras imágenes, cuántos recursos del sistema están usando, etc. Los siguientes comandos son útiles para monitorear Docker y nuestras imágenes instaladas.

Para ver qué contenedores de Docker se están ejecutando y verificar su estado actual, escriba:

$ docker container ls

El comando docker container ls muestra los contenedores actualmente en ejecución

Para ver una lista de todas las imágenes de Docker instaladas, escriba:

$ docker images

El comando Docker Images muestra qué imágenes están instaladas actualmente en Docker

Para ver el uso actual de CPU, RAM y red de las imágenes en ejecución, escriba:

$ docker stats

Vea el uso actual del sistema de las imágenes de Docker con el comando de estadísticas de Docker

Para ver la configuración de red de Docker, escriba:

$ docker network ls

Ver las redes actualmente configuradas en Docker con docker network ls

Iniciar un contenedor automáticamente

Ya hemos visto cómo asegurarnos de que el servicio Docker se inicie automáticamente cuando se inicie la computadora. En caso de que te hayas saltado ese paso, aquí está el comando nuevamente.

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

También podemos controlar los servicios de Docker para que se inicien automáticamente. Aquí hay algunos comandos para controlar su comportamiento. Usaremos nginx como nuestro software de ejemplo en estos comandos.

  1. Para iniciar un nuevo contenedor y configurarlo para que se reinicie automáticamente a menos que se haya detenido o Docker se haya reiniciado, ejecute el siguiente comando.
    $ docker run -d --restart unless-stopped nginx
    
  2. Si el contenedor ya se está ejecutando, use este comando para asegurarse de que se reinicie automáticamente.
    $ docker update --restart unless-stopped nginx
    
  3. También podemos asegurarnos de que todos los contenedores se reinician automáticamente, a menos que se detengan explícitamente, usando el siguiente comando.
    $ docker update --restart unless-stopped $(docker ps -q)
    
  4. Para reiniciar siempre un contenedor, incluso si se ha detenido manualmente, use el always opción en lugar de unless stopped .
    $ docker update --restart always nginx
    
  5. También puede usar el on-failure opción para permitir que los contenedores solo se reinicien automáticamente si han encontrado un error.
    $ docker update --restart on-failure nginx
    
  6. Por último, para volver a configurar su contenedor a la configuración predeterminada, lo que significa que no se reinicia automáticamente, use el no opción.
    $ docker update --restart no nginx
    

Resolución de problemas

Si tiene problemas con Docker, incluidos errores de permisos o "No se puede conectar con el demonio de Docker", los desarrolladores de Docker tienen un script útil que puede ejecutar para verificar una serie de problemas comunes. Aquí se explica cómo descargarlo y ejecutarlo.

$ curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh
$ bash ./check-config.sh

Ejecutar el script de configuración de verificación de Docker nos muestra si algo está mal configurado en nuestro sistema

Pensamientos finales

Aunque RHEL, y por extensión Fedora, no es compatible con Docker de forma nativa, aún es posible ponerlo en funcionamiento, como hemos visto en esta guía. Las herramientas nativas de RHEL, como podman y buildah, son compatibles con Docker, pero no necesitan una arquitectura de servidor/cliente para ejecutarse. El uso de herramientas nativas, siempre que sea posible, es siempre la forma recomendada de hacerlo, pero por una razón u otra, es posible que aún desee instalar el Docker original.


Fedora
  1. Cómo instalar Docker en Rocky Linux 8

  2. Cómo instalar Docker en Fedora 28 / Fedora 27

  3. Cómo instalar PostgreSQL 14 en Fedora Linux

  4. Cómo instalar VLC en Fedora Linux

  5. Cómo instalar Zoom en Fedora Linux 35

Cómo instalar Python 3.10 en Fedora Linux

Cómo instalar Slack en Fedora 35

Cómo instalar Nginx en Fedora 35

Cómo instalar Docker en Fedora 35

Cómo instalar Docker en Linux Mint 19

Cómo instalar Docker en Linux Mint 20

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema FedoraLinux
    Software Docker
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios