Cómo instalar Docker en Rocky Linux 8
Docker es una plataforma de virtualización que te permite crear contenedores de desarrollo aislados. Introducido en 2013, Docker ofrece la posibilidad de ejecutar fácilmente tus aplicaciones en cualquier máquina, independientemente del sistema operativo o la plataforma. Hoy en día, muchos desarrolladores utilizan Docker para probar y desplegar sus aplicaciones dentro de contenedores. Los contenedores son instancias virtuales aisladas de recursos que ofrecen la posibilidad de ejecutar varios sistemas aislados en una sola máquina anfitriona.
¿Por qué Docker?
Docker te facilita crear, desplegar y ejecutar aplicaciones en varias plataformas sin riesgo de incompatibilidades entre los entornos de desarrollo y producción. También te permite gestionar tu infraestructura de forma más eficiente.
Hay dos ediciones de Docker: la edición comunitaria (Docker CE) y la edición empresarial (Docker EE). Docker EE es una solución de gestión de contenedores preparada para empresas.
Puedes descargar imágenes de contenedores Docker de repositorios oficiales llamados registros, que incluyen registros públicos como Docker Hub o privados como Registry Hub. También puedes crear tus propias imágenes personalizadas utilizando docker commit.
En esta guía, aprenderás a instalar y utilizar Docker en Rocky Linux 8.
Requisitos previos
Para completar este artículo, necesitarás lo siguiente:
- Una instalación nueva de Rocky Linux 8
- Debes tener al menos 2 GB de RAM instalados en tu sistema. Puedes asignar opcionalmente más de 2GB en función de tus necesidades. 2 vCPU / núcleos de CPU y un mínimo de 20GB de espacio en el disco del sistema para Docker, más espacio libre adicional en función de cuántas imágenes contenedoras quieras crear.
- Un usuario con privilegios sudo está configurado en el servidor
Actualizar el servidor
En primer lugar, asegúrate de que tu Servidor está actualizado utilizando los siguientes comandos:
sudo dnf update -y
Si hay versiones anteriores de Docker instaladas en tu sistema, debes eliminarlas utilizando los siguientes comandos:
sudo dnf remove docker*
Instalación de Docker
En primer lugar, añade el repositorio oficial de Docker utilizando el siguiente comando:
sudo dnf install -y dnf-utils
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Actualiza los repositorios del sistema utilizando el siguiente comando:
sudo dnf update -y
Puedes listar los repositorios recién añadidos utilizando el siguiente comando:
sudo dnf repolist -v
Instala Docker CE en tu sistema como se indica a continuación:
sudo dnf install -y docker-ce
Después de instalarlo, puedes verificar la versión de Docker Enterprise Edition utilizando el siguiente comando:
docker --version
Deberías ver una salida similar a la siguiente:
Inicia el servicio Docker y configúralo para que se inicie automáticamente al arrancar el sistema.
sudo systemctl start docker
sudo systemctl enable docker
Comprueba el estado del servicio Docker.
sudo systemctl status docker
Puedes ver el activo (en ejecución) en color verde. Si ves una salida como ésta, entonces la instalación de D ocker se ha realizado correctamente. Pulsa q para volver al símbolo del sistema.
Permitir el acceso no root
Si ejecutas Docker como usuario estándar, puedes obtener un error como «Error al iniciar el demonio». Para permitir la ejecución del comando Docker sin anteponer el prefijo sudo, añade tu usuario actual del sistema al grupo Docker mediante el siguiente comando:
sudo usermod -aG docker $USER
Donde $USER es el nombre de tu usuario de sistema. Cierra la sesión y vuelve a iniciarla para que este cambio surta efecto.
Verificar la instalación de Docker
Puedes verificar que Docker está instalado correctamente extrayendo la imagen docker hello-world del docker hub. El hub Docker es un registro público que contiene imágenes Docker útiles. Puedes construir tus propias imágenes o extraer imágenes ya construidas y compartidas del hub docker.
docker container run hello-world
Si la imagen hello-world no se encuentra en el host, Docker la descubrirá automáticamente y la descargará del Docker Hub. Una vez descargada la imagen, el demonio Docker instala un nuevo contenedor a partir de ella y ejecuta el programa que contiene para imprimir «¡Hola desde Docker!».
Uso de los comandos de Docker
Ahora que Docker está instalado y funcionando, veamos cómo utilizarlo. Puedes listar todos los comandos Docker simplemente escribiendo:
docker
Para obtener información como OSType, Arquitectura, CPUs, Memoria Total ejecuta el comando info con docker.
sudo docker info
Para buscar imágenes disponibles en Docker Hub, puedes utilizar el comando buscar con docker. Por ejemplo, para buscar una imagen centos, escribe
sudo docker search centos
El script rastreará Docker Hub y devolverá las imágenes coincidentes. A continuación puedes ver la lista de imágenes disponibles para centos.
Puedes ver el estado OK en la columna OFICIAL, que indica que esas imágenes están respaldadas por la empresa que está detrás del proyecto.
Con el comando pull, puedes descargar una imagen a tu ordenador después de identificar la que te gustaría utilizar.
sudo docker pull centos
Este comando descargará la versión más reciente de la imagen de Centos en tu ordenador. Para ver la lista de imágenes de tu sistema, escribe:
sudo docker images
El resultado debería ser similar al siguiente:
Ejecutar un contenedor Docker
Puedes ejecutar un contenedor Docker utilizando el comando docker run o docker create. Con docker run, puedes crear un nuevo contenedor interactivamente o puedes pasar una imagen preexistente desde tu sistema de archivos local, registro o docker hub.
La sintaxis de la línea de comandos docker run es la siguiente:
sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
Como ejemplo, vamos a ejecutar un contenedor utilizando la última imagen de centos que sacamos del hub Docker más arriba.
sudo docker run centos
Ahora estás dentro del contenedor con un ID de contenedor. En este ejemplo, es 2d80435f0d91. Deberías tener un símbolo del sistema con este aspecto:
Dentro del contenedor, se puede ejecutar cualquier comando sin utilizar sudo porque eres un usuario root. Por ejemplo, puedes ejecutar el comando dnf update para actualizar los paquetes dentro de la imagen centos:
dnf update
Cualquier cambio que realices dentro de un contenedor, sólo afectará a ese contenedor. Puedes salir del contenedor escribiendo exit en el prompt.
Conclusión
En este tutorial has aprendido a instalar Docker en tu servidor, a trabajar con imágenes y con contenedores. Una vez que te hayas familiarizado con estos conceptos básicos, puedes pasar a temas más avanzados en la documentación oficial de Docker.