Artículo
· 27 jul, 2023 Lectura de 9 min

Introducción a Docker

Hola Comunidad:

En este artículo, aprenderemos los siguientes temas:

  1. ¿Qué es Docker?
  2. Algunos beneficios de Docker
  3. ¿Cómo funciona Docker?
  4. Imágenes Docker
  5. Contenedores Docker
  6. Repositorio de imágenes Docker
  7. Repositorio de imágenes Docker de InterSystems
  8. Instalación de Docker
  9. Comandos básicos de Docker
  10. Ejecutar la Community Edition de IRIS utilizando Docker
  11. Interfaz gráfica de Docker Desktop

¡Comencemos!

1. ¿Qué es Docker?

A beginner’s guide to Docker — how to create your first Docker application

Docker es un software de virtualización que facilita el desarrollo e implementación de aplicaciones. Docker logra esto empaquetando la aplicación en un llamado contenedor que contiene todo lo que la aplicación necesita para ejecutarse, incluyendo su código real, sus librerías y dependencias, tiempo de ejecución y configuración del entorno.

Docker es una plataforma de contenerización que permite a los desarrolladores crear, implementar y ejecutar aplicaciones en entornos contenerizados. Docker proporciona una forma de empaquetar una aplicación y sus dependencias en un solo contenedor que se puede ejecutar en cualquier máquina que admita Docker. Esto facilita la creación de aplicaciones portátiles y ligeras que se pueden implementar rápidamente y sin esfuerzo.


2. Algunos beneficios de Docker

Estos son algunos de los beneficios de utilizar Docker:

  • Portabilidad Los contenedores de Docker se pueden ejecutar en cualquier máquina que admita Docker, lo que facilita la implementación de aplicaciones en diferentes entornos.
  • Consistencia Al empaquetar una aplicación y sus dependencias en un contenedor, Docker garantiza que la aplicación se ejecutará de manera consistente, independientemente de la infraestructura subyacente.
  • Escalabilidad Docker facilita la escalabilidad horizontal de las aplicaciones al ejecutar múltiples instancias del mismo contenedor.
  • Eficiencia de los recursos Los contenedores de Docker son ligeros y requieren recursos mínimos, lo que los hace ideales para ejecutarse en infraestructuras en la nube.
  • Seguridad Docker proporciona un entorno seguro y aislado para ejecutar aplicaciones, reduciendo el riesgo de conflictos con otras aplicaciones o el sistema host.  

3. ¿Cómo funciona Docker?

Docker crea un entorno virtualizado para una aplicación llamada contenedor. Un contenedor es un paquete ligero, independiente y ejecutable que contiene todo lo necesario para ejecutar la aplicación, incluyendo el código, las librerías y las dependencias. Los contenedores están aislados del sistema host. Por lo tanto, pueden ejecutarse en cualquier máquina que admita Docker, independientemente del sistema operativo o el hardware subyacente.

Los contenedores se crean a partir de imágenes, que son plantillas de solo lectura que definen la aplicación y sus dependencias. Estas imágenes se almacenan en un repositorio central, llamado registro, como Docker Hub o un registro privado. Los desarrolladores pueden crear imágenes personalizadas o utilizar imágenes preconstruidas del registro.

Cuando se lanza un contenedor, se crea a partir de una imagen y se le asigna su propio sistema de archivos, red y espacio de procesos aislados. El contenedor puede entonces ejecutar la aplicación como si estuviera ejecutándose en un servidor dedicado.
 

4. Imágenes Docker

Una imagen de Docker es un paquete ligero, independiente y ejecutable, que contiene todo lo necesario para ejecutar una aplicación, incluyendo el código, las librerías y las dependencias. Las imágenes Docker se utilizan para construir y ejecutar contenedores, que son entornos aislados que se pueden utilizar para ejecutar aplicaciones.

Las imágenes Docker se crean a partir de un Dockerfile, que es un archivo de texto que contiene un conjunto de instrucciones para construir la imagen. El Dockerfile especifica la imagen base, el código y las dependencias de la aplicación, las variables de entorno y otras opciones de configuración necesarias para crear la imagen.

Las imágenes Docker se almacenan en un registro, como Docker Hub o uno privado. Cada vez que se crea un contenedor a partir de una imagen, se ejecuta como un proceso independiente en la máquina host, aislada de otros procesos y contenedores.

Las imágenes Docker se pueden utilizar para implementar aplicaciones de manera consistente en diferentes plataformas. Facilitan el empaquetado, la distribución y la implementación de aplicaciones, y aseguran que se ejecuten de la misma manera en todas partes. 
 

5. Contenedores Docker

Una instancia en ejecución de una imagen es un contenedor, que, como se mencionó anteriormente, es un paquete ligero, independiente y ejecutable que contiene todo lo necesario para ejecutar una aplicación, incluyendo el código, las librerías y las dependencias.

Un contenedor Docker proporciona un entorno aislado para ejecutar una aplicación, lo que asegura que tiene todos los recursos necesarios para ejecutarse correctamente. Cada contenedor se ejecuta como un proceso independiente en la máquina host y tiene su propio sistema de archivos, red y otros recursos.

Los contenedores Docker están diseñados para ser portátiles y fáciles de implementar. Se pueden ejecutar en cualquier máquina que tenga Docker instalado, independientemente del sistema operativo o hardware subyacente. Los contenedores proporcionan un entorno consistente para ejecutar aplicaciones, lo que facilita el movimiento de aplicaciones entre diferentes entornos, como desarrollo, prueba y producción.

Los contenedores Docker se pueden administrar con la ayuda de la interfaz de línea de comandos de Docker (Docker CLI) o herramientas como Docker Compose o Kubernetes. Se pueden iniciar, detener, pausar y reiniciar según sea necesario. También se pueden monitorizar y administrar utilizando una variedad de herramientas y plataformas.

En general, los contenedores Docker proporcionan una forma flexible y escalable de empaquetar e implementar aplicaciones, lo que facilita la gestión y escalabilidad de aplicaciones complejas en diferentes entornos y plataformas.
 

6. Repositorio de imágenes Docker

Docker aloja uno de los repositorios de Docker más grandes, llamado Docker Hub. Es un sistema de almacenamiento y distribución de imágenes Docker. Proporciona un repositorio central para que los desarrolladores y las organizaciones compartan y distribuyan sus imágenes Docker, haciendo más fácil construir, compartir e implementar aplicaciones con Docker.

Docker Hub permite a los usuarios y organizaciones almacenar y administrar sus imágenes Docker, y también ofrece funcionalidades como versionado, etiquetado y colaboración. Los usuarios pueden buscar y descargar imágenes desde Docker Hub, así como publicar sus propias imágenes en el registro.

Además del registro público, Docker Hub proporciona un registro privado para organizaciones que quieren administrar sus propias imágenes Docker y garantizar que solo sean accesibles para usuarios autorizados.


 

7. Repositorio de imágenes Docker de InterSystems

Al utilizar la función de búsqueda del Docker Hub, podemos encontrar imágenes de InterSystems en el Docker Hub.


 

8. Instalación de Docker

Para utilizar Docker, necesitamos instalarlo en nuestro sistema. Docker proporciona paquetes de instalación para varios sistemas operativos, incluyendo Windows, macOS y Linux.

Hay que ir al sitio web de Docker. Se puede descargar el paquete de instalación desde el sitio web de Docker, ejecutar el instalador y seguir las instrucciones para completar la instalación.

Después de instalar Docker Desktop, podemos utilizar la interfaz de línea de comandos de Docker (Docker CLI) para gestionar imágenes, contenedores, redes y otros recursos de Docker.
 

9. Comandos básicos de Docker

Revisaremos aquí algunos de los comandos básicos de Docker CLI. (Aseguraos de ejecutar Docker Desktop antes de utilizar los comandos detallados a continuación)

9.1 Lista de imágenes (localmente)

Podemos utilizar el comando docker image ls para hacer una lista de todas las imágenes Docker disponibles en nuestro sistema. Así es como podéis usar este comando:  

docker image ls

Como se puede ver, actualmente no tenemos ninguna imagen en local.

9.2 Descargar imágenes desde el repositorio Docker

Podemos utilizar el comando docker pull para descargar una imagen Docker desde un registro  

docker pull <image>

Vamos a descargar la imagen intersystemsdc/iris-community desde Docker Hub

En este punto, debemos utilizar el comando de lista para ver las imágenes en nuestro local

¡Bien hecho! La imagen iris-community se descargó satisfactoriamente.

9.3 Eliminar imagen localmente

Podemos utilizar el comando docker image rm  para eliminar la imagen de nuestro sistema

docker image rm <image name>

9.4 Hacer una lista de todos los contenedores existentes (en ejecución y que no están en ejecución)

Podemos utilizar el comando docker ps para listar los contenedores en ejecución

docker ps 

Como se muestra en la imagen, en este momento no hay ningún contenedor en ejecución.

9.5 Crear e iniciar el contenedor

Podemos utilizar el comando docker run para crear e iniciar el contenedor

docker run &lt;image id/namge>

Vamos a crear e iniciar el contenedor desde la imagen iris-community 

Aquí, -d o --detach significa lo siguiente: ejecutar el comando en segundo plano y devolver el control al terminal.

Una vez más, es hora de hacer una lista de los contenedores que están en ejecución  

docker ps

Podemos ver que nuestro contenedor de la imagen iris-community está en ejecución ahora.

9.6 Detener un contenedor específico

Podemos utilizar el comando docker stop para detener el contenedor que está en ejecución

docker stop <container id/name>

9.7 Iniciar un contenedor específico

Podemos utilizar el comando docker start para iniciar un contenedor previamente detenido en Docker.   

docker start <container id/name>

9.8 Reiniciar un contenedor específico

Podemos utilizar el comando docker restart para detener y reiniciar el contenedor que está en ejecución en Docker

docker restart <container id/name>

9.9 Eliminar el contenedor específico

Podemos utilizar el comando docker rm para eliminar el contenedor detenido

docker rm <container id/name>

9.10 Ejecutar un comando dentro de un contenedor en ejecución

Podemos utilizar el comando docker exec para ejecutar un comando dentro de un contenedor que está en ejecución. Esto puede ser útil para realizar tareas administrativas o con fines de depuración.  

docker exec -it my-container sh

Algunas opciones comunes para el comando docker exec son:

  • -i o --interactive: este comando mantiene STDIN abierto incluso si no está adjunto, lo que permite interactuar con el contenedor.
  • -t o --tty: este comando asigna un pseudo-TTY al comando, lo que permite utilizar comandos del terminal dentro del contenedor.
  • -d o --detach: esto ejecuta el comando en segundo plano y devuelve el control al terminal.


10. Ejecutar la Community Edition de IRIS utilizando Docker

Utilizad el siguiente comando para ejecutar el contenedor empleando la imagen iris-community:  

docker run -d -p 52773:52773 intersystemsdc/iris-community

Algunas opciones comunes para el comando `docker exec` son las siguientes:

  • -d: este comando se utiliza para iniciar un nuevo contenedor de Docker en modo detached, lo que significa que el contenedor se ejecutará en segundo plano y podremos seguir utilizando el terminal para otras tareas.
  • -p: este comando nos ayuda a publicar el puerto del contenedor en la máquina host, para poder acceder al contenedor desde fuera de la red de Docker.

En la siguiente ilustración se puede ver IRIS ejecutándose en Docker.

11. Interfaz gráfica de Docker Desktop

Docker Desktop también cuenta con una interfaz gráfica de usuario (GUI) en la que podemos utilizar de forma gráfica todos los comandos mencionados anteriormente .


Resumen

Docker es una potente herramienta que permite a los desarrolladores y equipos de TI crear, implementar y ejecutar aplicaciones en un entorno contenedorizado. Al proporcionar portabilidad, consistencia, escalabilidad, eficiencia de recursos y seguridad, Docker facilita la implementación de aplicaciones en diferentes entornos e infraestructuras. Con la creciente popularidad de la contenerización, Docker se está convirtiendo en una herramienta esencial para el desarrollo e implementación de software moderno.

En el próximo artículo, aprenderemos cómo utilizar el archivo Docker (empleado para construir una imagen Docker), Docker Compose (un archivo YAML que especifica las opciones de configuración para cada contenedor en la aplicación) y Docker Volume (un mecanismo de almacenamiento de datos persistente utilizado para compartir datos entre contenedores de Docker y la máquina host).

¡Gracias por leer mi publicación!

Comentarios (0)1
Inicie sesión o regístrese para continuar