Saltar al pie de página
USANDO IRONSECUREDOC

Construcción de Docker Compose (Tutorial para devs)

¿Qué es Docker ?

Docker es una plataforma de código abierto que simplifica el proceso de desarrollar, desplegar y ejecutar aplicaciones utilizando la contenedorización. Los contenedores son unidades ultraligeras y portátiles que empaquetan una aplicación junto con sus dependencias, permitiendo una ejecución consistente en diversos entornos, desde el sistema local de un desarrollador hasta servidores de producción. A diferencia de las máquinas virtuales tradicionales, los contenedores utilizan el núcleo del sistema operativo host, mejorando su velocidad y eficiencia.

Docker Compose Build (Tutorial para Desarrolladores): Figura 1

Docker ofrece una plantilla virtualizada a través de imágenes de Docker para crear y gestionar conjuntos de contenedores. Incluye Docker Hub, una forma de repositorio de imágenes de contenedores. El gran atractivo de esta tecnología es su escalabilidad, portabilidad y eficiencia, haciéndola altamente popular en DevOps y flujos de trabajo de desarrollo enfocados en la nube.

¿Cómo funciona Docker?

  • El Daemon de Docker escucha solicitudes del Cliente de Docker, que pueden incluir docker build, docker pull o docker run.
  • El Daemon de Docker maneja la creación, gestión y monitoreo de contenedores. También recupera las imágenes de Docker requeridas de un registro, como Docker Hub.
  • Usando la imagen descargada, el daemon crea un contenedor aislado, efectivamente una instancia en ejecución de la aplicación.
  • Los contenedores comparten el núcleo del SO del host pero permanecen aislados entre sí, permitiendo que el software opere en un entorno único con sus dependencias.
+--------------------+
|   Docker Client    |
|  (CLI/API)         |
+--------------------+
          |
          v
+--------------------+               +---------------------+
|   Docker Daemon    |   -------->   |   Docker Registry   |
|  (manages resources|               |  (stores images)    |
|  & runs containers)|               +---------------------+
+--------------------+
          |
          v
+---------------------+
|      Container      |  
|  (App Instance)     |
+---------------------+
          |
          v
+---------------------+
| Docker Image        |  
| (App Blueprint)     |
+---------------------+

¿Qué es Docker Compose?

Docker Compose proporciona una forma fácil de gestionar una aplicación Docker de múltiples contenedores usando un solo archivo: docker-compose.yml. Este archivo YAML permite la configuración de múltiples servicios, especificando aspectos como imágenes de Docker, variables de entorno, redes y volúmenes. Puedes utilizar comandos de Docker Compose como docker-compose up o docker-compose down para gestionar todos los contenedores en una aplicación con una sola acción.

+--------------------------+
|   docker-compose.yml     |  (Configuration file)
+--------------------------+
            |
            v
+----------------+    +----------------+    +----------------+
|   Service 1    |    |   Service 2    |    |   Service 3    |
|  (e.g. web)    |    |  (e.g. db)     |    |  (e.g. cache)  |
+----------------+    +----------------+    +----------------+
            |                  |                   |
            -----------------------------------------
                         Docker Application

Docker Compose es particularmente ventajoso para aplicaciones complejas como los microservicios con numerosas instancias de contenedor. Se utiliza efectivamente en entornos de desarrollo, pruebas y producción.

Crear una nueva aplicación React JS con ASP.NET Core

Sigue estos pasos para crear una nueva aplicación React de Visual Studio con un backend de ASP.NET Core y agregar soporte Docker:

Prerrequisitos

  • Visual Studio: Asegúrate de tener instalado Visual Studio 2022 o una versión más reciente con las cargas de trabajo necesarias:
    • Desarrollo web y ASP.NET
    • Desarrollo de Node.js (React)
    • Soporte Docker
  • Docker Desktop: Debe estar instalado y en ejecución.

Crear nuevo proyecto

  1. Abre Visual Studio y elige Nuevo Proyecto desde el menú.

Docker Compose Build (Tutorial para Desarrolladores): Figura 2

  1. Busca "Aplicación Web React y ASP.NET Core" en el diálogo "Crear un nuevo proyecto" y selecciónalo. Haz clic en Siguiente.

Docker Compose Build (Tutorial para Desarrolladores): Figura 3

  1. Proporciona un nombre para el proyecto, selecciona un nombre de solución y elige la ubicación de guardado. Haz clic en Siguiente.

Docker Compose Build (Tutorial para Desarrolladores): Figura 4

  1. Asegúrate de que el Soporte Docker está habilitado. Selecciona el marco deseado y haz clic en Crear.

Docker Compose Build (Tutorial para Desarrolladores): Figura 5

  1. Después de crear el proyecto, agrega soporte Docker haciendo clic derecho en el nodo del proyecto y seleccionando Agregar > Soporte Docker.

Docker Compose Build (Tutorial para Desarrolladores): Figura 6

  1. Elige el nombre y tipo del contenedor, luego haz clic en Aceptar.

Docker Compose Build (Tutorial para Desarrolladores): Figura 7

Ahora que el proyecto recién creado se ha agregado al contenedor Docker, los comandos de Docker Compose pueden ejecutarlo. Ejemplo de salida generada del código del cliente de React JS.

Docker Compose Build (Tutorial para Desarrolladores): Figura 8

Código del lado del servidor de la API ejecutándose desde el contenedor Docker.

Docker Compose Build (Tutorial para Desarrolladores): Figura 9

IronSecureDoc

IronSecureDoc permite a los desarrolladores incrustar eficientemente el procesamiento de documentos seguros en aplicaciones contenedorizadas. Con el soporte de Docker, encapsula tu aplicación ASP.NET Core utilizando IronSecureDoc, fomentando un despliegue y escalamiento fluido. Construye un Dockerfile para integrar IronSecureDoc con tu aplicación ASP.NET Core, junto con los scripts o configuraciones necesarias.

Docker Compose Build (Tutorial para Desarrolladores): Figura 10 - IronSecureDoc

Además, un archivo docker-compose.yml puede describir dependencias de servicio y variables de entorno para fácil acceso, ayudando en el manejo eficiente de tareas de seguridad de documentos en diferentes entornos de despliegue. Asegurarse de la instalación y configuración de IronSecureDoc, como Docker, es esencial para ofrecer funciones como encriptación y redacción de documentos.

Instalación y ejecución de IronSecureDoc

Recupera la imagen Docker de IronSecureDoc con este comando:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose Build (Tutorial para Desarrolladores): Figura 11

Después de descargar la imagen, usa el siguiente comando para lanzar IronSecureDoc en un nuevo contenedor:

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Docker Compose Build (Tutorial para Desarrolladores): Figura 12

Uso de IronSecureDoc con un contenedor Docker

La API REST de IronSecureDoc permite operaciones de documento como redacción, certificación y encriptación una vez instalado y en ejecución en Docker. Para más información sobre los endpoints de la API, revisa la documentación.

Para encriptar un documento, envía una solicitud POST a la API de IronSecureDoc:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Este comando envía el documento a IronSecureDoc para su encriptación.

Conclusión

Integrar Docker Compose con IronSecureDoc mejora considerablemente la eficiencia y confiabilidad de las aplicaciones que requieren manejo seguro de documentos. Docker Compose gestiona eficazmente aplicaciones de múltiples contenedores, simplificando la coordinación de dependencias y servicios, incluido IronSecureDoc, lo cual asegura la consistencia del entorno de desarrollo, simplifica las configuraciones y aumenta la escalabilidad.

En esta configuración, los desarrolladores pueden aprovechar completamente las características de seguridad de documentos, como la encriptación y redacción, dentro de un marco contenedorizado. En general, combinar Docker Compose con IronSecureDoc enriquece el proceso de desarrollo, ofreciendo un método seguro y eficiente para manejar documentos sensibles en aplicaciones modernas. Para obtener información sobre las licencias de IronSecureDoc, visita esta página. Haz clic aquí para explorar más productos de Iron Software.

Preguntas Frecuentes

¿Qué es Docker y cómo facilita el despliegue de aplicaciones?

Docker es una plataforma de código abierto que simplifica el desarrollo y el despliegue de aplicaciones usando contenedores. Los contenedores son unidades ligeras y portátiles que empaquetan una aplicación con todas sus dependencias, asegurando una ejecución consistente en varios entornos.

¿Cómo ayuda Docker Compose a gestionar aplicaciones complejas?

Docker Compose es una herramienta que gestiona aplicaciones Docker con múltiples contenedores utilizando un archivo `docker-compose.yml`. Simplifica la configuración y coordinación de servicios, imágenes, redes y volúmenes, haciendo que sea ideal para gestionar aplicaciones complejas como microservicios.

¿Cuáles son los pasos para crear una aplicación React JS con ASP.NET Core usando Docker en Visual Studio?

Para crear una aplicación React JS con ASP.NET Core usando Docker en Visual Studio, asegúrese de tener Visual Studio 2022 o posterior con las cargas de trabajo necesarias y Docker Desktop instalado. Cree el proyecto, agregue soporte para Docker y use comandos Docker Compose para gestionar la aplicación.

¿Cómo se integra IronSecureDoc con Docker para el procesamiento seguro de documentos?

IronSecureDoc se puede integrar con Docker extrayendo su imagen Docker y ejecutándola en un contenedor. Esta configuración permite operaciones de procesamiento seguro de documentos como cifrado y redacción a través de su API REST, mejorando la seguridad en aplicaciones en contenedores.

¿Cuáles son los beneficios de usar Docker Compose con IronSecureDoc para el procesamiento de documentos?

Integrar Docker Compose con IronSecureDoc mejora la eficiencia y confiabilidad de la aplicación gestionando dependencias y servicios en un entorno de contenedores. Asegura el manejo seguro y escalable de documentos, lo cual es crucial para aplicaciones que requieren robusta seguridad documental.

¿Cómo se agrega soporte para Docker a un proyecto existente de Visual Studio?

Para agregar soporte para Docker a un proyecto existente de Visual Studio, haga clic derecho en el nodo del proyecto, seleccione Agregar > Soporte para Docker, y elija las opciones adecuadas de contenedor. Esto integra capacidades de Docker a su proyecto, permitiendo desarrollo en contenedores.

¿Cuál es el proceso para ejecutar IronSecureDoc en un contenedor Docker?

Para ejecutar IronSecureDoc en un contenedor Docker, use el comando `docker pull` para obtener la imagen, luego ejecute `docker container run` con las variables de entorno necesarias, como la clave de licencia y los puertos. Esta configuración facilita el procesamiento seguro de documentos dentro de un contenedor.

¿Cómo puedo cifrar un documento usando IronSecureDoc en un entorno Docker?

Puede cifrar un documento usando IronSecureDoc enviando una solicitud POST a su API. Use el comando `curl` para subir el documento, especificando la ruta del archivo local y los parámetros de cifrado. Esta operación asegura el documento dentro de un contenedor Docker.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más