Docker CE no está oficialmente soportado en Red Hat Enterprise Linux (RHEL) 8 o CentOS 8. La forma recomendada oficialmente por Red Hat para gestionar contenedores en RHEL 8 y CentOS 8 es Podman. Podman es básicamente un reemplazo de Docker en RHEL 8 y CentOS 8. Sin embargo, las imágenes de Docker son compatibles con Podman. Por lo tanto, pasar a Podman no debería ser demasiado difícil.
De todos modos, este artículo no es sobre Podman. Se trata de conseguir instalar Docker en CentOS 8. Si realmente no quieres cambiar a Podman y seguir usando Docker en tu máquina RHEL 8 o CentOS 8, entonces este artículo es para ti.
NOTA: Si vas a usar Docker en una máquina de producción, entonces te recomiendo no actualizar a CentOS 8/RHEL 8. Sigue usando CentOS 7/RHEL 7 hasta que Docker tenga soporte oficial para RHEL 8 y CentOS 8.
Instalación de las herramientas necesarias:
Primero, actualice la caché del repositorio de paquetes de CentOS 8 con el siguiente comando:
Ahora, instale todas las herramientas necesarias para instalar Docker CE con el siguiente comando:
fuse-overlayfs wget
Para confirmar la instalación, pulsa Y y después <Enter>.
Todas las herramientas necesarias deberían estar instaladas.
Añadir el repositorio oficial de paquetes de Docker CE:
Docker CE no está disponible en el repositorio oficial de paquetes de CentOS 8. Pero puede añadir el repositorio oficial de paquetes de Docker CE en CentOS 8 e instalar Docker desde allí.
Para añadir el repositorio oficial de paquetes de Docker CE, ejecute el siguiente comando:
docker-ce.repo
Ahora, actualice la caché del repositorio de paquetes de CentOS 8 con el siguiente comando:
Instalación de Containerd.io:
La principal incompatibilidad de Docker CE en RHEL 8 y CentOS 8 es el paquete containerd.io. Docker CE depende de ese paquete, pero RHEL 8 y CentOS 8 marcaron oficialmente estos paquetes. Por lo tanto, no se puede instalar la versión del paquete containerd.io que Docker necesita para funcionar en RHEL 8 y CentOS 8 utilizando los gestores de paquetes DNF o YUM directamente.
Por suerte, podemos descargar manualmente la última versión del paquete containerd.io e instalarlo en CentOS 8.
Primero, navegue al directorio /tmp como sigue:
La última versión del paquete containerd.io es la 1.2.6-3.3 en el momento de escribir este artículo. Puedes comprobar si hay una versión posterior cuando estés leyendo este artículo en https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
Ahora, descarga la última versión del paquete containerd.io del repositorio oficial de paquetes de CentOS 7 de Docker CE con el siguiente comando:
containerd.io-1.2.6-3.3.el7.x86_64.rpm
La última versión del paquete containerd.io debería descargarse.
El archivo del paquete RPM containerd.io debería estar en el directorio /tmp como se puede ver en la captura de pantalla siguiente.
Ahora, instale el archivo de paquete containerd.io-1.2.6-3.3.el7.x86_64.rpm utilizando el gestor de paquetes DNF de la siguiente manera:
Para confirmar la instalación, pulse Y y luego pulse <Enter>.
La última versión de containerd.io debería estar instalada.
Ahora, estás listo para instalar Docker CE en tu máquina CentOS 8.
Instalación de Docker CE:
Para instalar Docker CE en CentOS 8 desde el repositorio oficial de paquetes de Docker CE, ejecute el siguiente comando:
Para confirmar la instalación, presione Y y luego presione <Enter>.
El gestor de paquetes DNF debería empezar a descargar todos los paquetes RPM necesarios desde el repositorio de paquetes de Docker CE. Puede tardar un rato en completarse.
En este punto Docker CE debería estar instalado.
Ahora, comprueba el estado del servicio Docker con el siguiente comando:
El servicio Docker puede estar inactivo (no se ejecuta) y deshabilitado (no se inicia automáticamente al arrancar) como en mi caso.
Para iniciar el servicio docker, ejecuta el siguiente comando:
También, para iniciar automáticamente el servicio docker en el arranque del sistema, añade el servicio docker al inicio del sistema de CentOS 8 de la siguiente manera:
Ahora, comprueba de nuevo el estado del servicio docker.
El servicio docker debería estar activo (en ejecución) y habilitado (se iniciará automáticamente al arrancar el sistema).
No querrás ejecutar los comandos Docker con sudo o como usuario root. Para ejecutar los comandos Docker como su usuario de inicio de sesión, debe agregar su usuario de inicio de sesión al grupo docker.
Para añadir su usuario de inicio de sesión al grupo docker, ejecute el siguiente comando:
Ahora, reinicie su máquina CentOS 8 con el siguiente comando:
Una vez que tu máquina CentOS 8 arranque, puedes comprobar si Docker está funcionando con el siguiente comando:
Como puedes ver, estoy ejecutando Docker CE 19.03.5. El cliente y el servidor de Docker Engine también está funcionando.
Ahora, vamos a tratar de ejecutar el contenedor Docker hello-world.
Como puedes ver, Docker sacó el contenedor hello-world de internet y lo ejecutó con éxito.
Así es como se instala Docker CE en CentOS 8. Gracias por leer este artículo.