Volver al blog

Instalación y configuración de Docker en CentOS 7

Instalación y configuración de Docker en CentOS 7

Introducción

Docker es a plataforma que facilita la ejecución y gestión de procesos de aplicaciones en contenedores. Proporciona una forma de separar sus aplicaciones de su infraestructura. Los contenedores son muy similares a las máquinas virtuales, pero son más portátiles, eficientes y fáciles de usar. Existen varias formas de instalar Docker en Linux distribuciones. La forma más popular y sencilla de instalar Docker en el sistema operativo existente es mediante el uso de comandos yum.

Este tutorial demostrará cómo puede configurar y utilizar Docker en CentOS 7 en unos pocos pasos sencillos.

Requisitos previos:

Todos los comandos que ejecute a lo largo de este tutorial se ejecutan como un usuario no root y, si es necesario, se proporcionará acceso root utilizando la palabra clave sudo.

Paso 1: Configuración de Docker en una instancia de CentOS 7

Es posible que el repositorio oficial de CentOS 7 no tenga el último paquete de instalación para Docker. En esta sección, instalará la última versión de Docker desde el repositorio oficial de Docker. Primero, debe actualizar la base de datos de paquetes usando:

Una vez completado el paso de actualización, ejecute el siguiente comando para descargar e instalar la última versión de Docker:

Docker ya está instalado, por lo que puede iniciar el demonio de Docker ejecutando el siguiente comando:

Para verificar si el demonio de Docker se está ejecutando, escriba lo siguiente:

La salida del comando systemctl status debe ser similar a la salida compartida a continuación, que muestra que se está ejecutando:

Finalmente, para asegurarse de que Docker se inicie al reiniciar la máquina, use el comando:

La instalación de Docker le proporciona el servicio Docker, así como la utilidad de cliente (cliente de línea de comandos de Docker). En las siguientes secciones del tutorial, podrá practicar más utilizando los comandos de Docker.

También puede echar un vistazo a nuestro tutorial detallado sobre cómo instalar & operar Docker en Ubuntu en la nube pública.

Paso 2: Uso de comandos de Docker sin el prefijo Sudo

Los comandos de Docker necesitan privilegios de root para ejecutarse. Por lo tanto, si desea ejecutar los comandos, tendrá que anteponerles sudo. Durante la instalación, se crea un grupo Docker de forma predeterminada. Si agrega un usuario al grupo, puede ejecutar los comandos de Docker sin sudo. Intentar ejecutar comandos de Docker sin sudo o agregar al usuario al grupo dará como resultado una salida similar a la siguiente:

Agregar su nombre de usuario al grupo Docker garantizará que no tenga que usar sudo para ejecutar los comandos de Docker:

Para agregar otro usuario al grupo Docker, simplemente puede reemplazar el nombre de usuario en el comando:

Durante el resto de esta guía, asumiremos que todos los comandos son ejecutados por un usuario en el grupo de usuarios de Docker. Si este no es el caso, puede usar el prefijo sudo con los comandos.

Paso 3: Ejecutar los comandos de Docker

Ahora que tienes Docker instalado y en funcionamiento, veamos algunos comandos para familiarizarte con la utilidad de línea de comandos de Docker. Los comandos de Docker suelen tener la siguiente forma:

Para encontrar todos los subcomandos disponibles debes usar:

A partir de Docker 20.10.3, la lista completa de subcomandos disponibles incluye:

Puedes usar la opción –help con un comando específico para obtener más información sobre él:

Para obtener información detallada sobre el sistema, usa:

Paso 4: Trabajar con imágenes de Docker

Las imágenes de Docker se pueden considerar el plano para los contenedores de Docker. Estas imágenes generalmente se descargan de Docker Hub, que es un registro gestionado por el proyecto Docker. Cualquiera puede crear y subir sus imágenes a Docker Hub. Como resultado, puedes encontrar fácilmente una amplia variedad de aplicaciones y distribuciones de sistemas operativos en el registro. Probemos un programa simple que confirmará el acceso a Docker Hub:

Deberías obtener una salida como la siguiente, que muestra que Docker está funcionando:

Puedes encontrar varias imágenes de Docker en Docker Hub utilizando el comando de búsqueda. Por ejemplo, mira el siguiente comando para buscar una imagen de CentOS:

La consulta de búsqueda mostrará una lista de todas las imágenes que coincidan con la subcadena. En tu caso, la salida debería ser como:

En los resultados de la búsqueda, hay diferentes columnas que describen información sobre la imagen. El OK en la columna OFFICIAL determina que la imagen fue creada y es respaldada por la empresa detrás de la aplicación. Una vez que haya finalizado la imagen, puede descargarla en su máquina local utilizando el comando Docker pull:

Después de descargar la imagen, puede ejecutar el contenedor utilizando el comando Docker run. Si intenta ejecutar directamente una imagen sin descargarla previamente, Docker descargará la imagen y luego ejecutará el contenedor:

Puede listar las imágenes descargadas en su máquina local utilizando el siguiente comando:

Debería obtener una salida similar:

Más adelante en este tutorial, podrá modificar las imágenes para ejecutar los contenedores. Estas nuevas imágenes se pueden agregar o subir a Docker Hub y a otros registros que alojan imágenes de Docker.

Paso 5: Ejecutar un contenedor de forma interactiva

Hay diferentes tipos de contenedores. El contenedor hello-world que ejecutó en el Paso 4 es un tipo de contenedor que se ejecuta y finaliza después de imprimir un mensaje. Otro tipo de contenedor es el interactivo. Puede utilizar contenedores interactivos de manera similar a una máquina virtual.

Creemos un contenedor a partir de la última imagen de CentOS. El uso de las banderas -i y -t en el comando Docker run le dará acceso interactivo al contenedor CentOS:

El símbolo del sistema cambiará y debería verse como la siguiente salida:

Ahora cualquier comando que ejecute se ejecutará dentro del contenedor. Eso es similar a ejecutar un comando en una máquina virtual. Intentemos instalar MySQL como servidor en el contenedor CentOS. Puede hacerlo usando:

Paso 6: Confirmar los cambios en un contenedor en una imagen de Docker

Después de iniciar el contenedor, puede realizar todas las operaciones que se pueden hacer en una máquina virtual similar, como crear/modificar archivos o configurar una aplicación. Tenga en cuenta que estos cambios solo permanecerán en ese contenedor, y después de destruir el contenedor, los cambios que haya realizado se perderán.

En esta parte del tutorial, aprenderá cómo crear una nueva imagen de Docker a partir de un contenedor con los cambios que ha realizado. Después del Paso 5 tendrá un contenedor CentOS ejecutándose con el servidor MySQL instalado. Este contenedor ahora es diferente de la imagen básica de CentOS. Puede guardar este estado del contenedor para un uso posterior. Primero, debe salir del contenedor usando:

Confirme los cambios que ha realizado en el contenedor en una nueva imagen de Docker utilizando el siguiente comando:

En el comando, -m se refiere al mensaje de confirmación y básicamente debe denotar los cambios realizados, la etiqueta -a se utiliza para mencionar al autor. El id del contenedor es el del Paso 5, que obtuvo después de ejecutar el contenedor en modo interactivo, y por lo general, el repositorio es su nombre de usuario de Docker Hub. Por ejemplo:

Ahora que la imagen está confirmada, el comando docker images debería listar la nueva imagen así como las antiguas:

La salida del comando debería ser similar a la siguiente:

Como se ve en el ejemplo, se crea una nueva imagen centos-mysql utilizando la imagen de CentOS de Docker Hub. La diferencia de tamaño determina que se realizaron algunos cambios. En este ejemplo, fue la adición del servidor MySQL en el contenedor. La próxima vez que necesite un contenedor con un servidor MySQL, simplemente puede ejecutar la nueva imagen, ¡y listo! Tendrá un contenedor CentOS con un servidor MySQL preinstalado ejecutándose.

Paso 7: Gestión de contenedores de Docker

Ahora que está familiarizado con Docker, después de usarlo durante algún tiempo ya tiene algunos contenedores activos y otros inactivos. Para obtener la lista de contenedores activos debe usar:

Debería ver una salida similar:

Para listar tanto los contenedores activos como los inactivos, debe usar la bandera -a con el comando:

Para encontrar el último contenedor que creó, puede proporcionar la bandera -l:

Para detener un contenedor activo/en ejecución, ejecute un comando simple:

Puede encontrar el container-id en la salida del comando Docker ps.

Paso 8: Publicar las imágenes en un repositorio

El siguiente paso después de crear la nueva imagen es compartirla con sus amigos. También puede ponerla a disposición de todo el mundo utilizando Docker Hub o cualquier otro registro. Es necesario iniciar sesión en el registro respectivo antes de subir (push) la imagen.

En la siguiente parte del tutorial, aprenderá cómo subir las imágenes a Docker Hub. Primero, regístrese en Docker Hub. Deberá iniciar sesión en Docker Hub para subir su imagen utilizando el siguiente comando:

Una vez que proporcione la contraseña correcta y la autenticación sea exitosa, podrá subir su imagen. Para subir la imagen, use el siguiente comando:

La salida del comando será similar a esta:

Una vez que haya subido la imagen, debería aparecer en el panel de control de su cuenta, como se muestra en la imagen a continuación:

docker account dashboard

En caso de que falle de manera similar, es probable que no haya iniciado sesión:

Puede iniciar sesión y repetir el intento de push.

Conclusión

Hay varias formas en las que puede utilizar Docker. Este tutorial debería proporcionarle suficiente información para comenzar. Y dado que Docker es un proyecto de gran tendencia, puede encontrar muchos detalles sobre el uso, así como diferentes casos de uso, en la página de blog del proyecto.

También puede consultar nuestros otros tutoriales de Docker para obtener más información sobre lo que puede hacer con Docker:

¡Feliz computación!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.