USO DE IRONSECUREDOC

Variables de Entorno de Docker Compose (Tutorial para Desarrolladores)

Publicado en 16 de diciembre, 2024
Compartir:

Introducción

Implementar aplicaciones en diferentes entornos a menudo lleva a problemas de compatibilidad. Una aplicación podría funcionar perfectamente en la máquina de un desarrollador, pero encontrar problemas durante las pruebas o en producción debido a diferencias en los sistemas operativos, dependencias o configuraciones. Docker resuelve este problema empaquetando aplicaciones en unidades autónomas que incluyen todo lo necesario para ejecutar la aplicación, asegurando que funcione de manera consistente en todas partes, desde el desarrollo hasta la producción.

Docker Compose ofrece beneficios poderosos para aplicaciones containerizadas, especialmente con su uso de variables de entorno para simplificar la configuración en diferentes entornos. Al permitir que las configuraciones clave se gestionen fuera del código, Docker Compose hace que el despliegue de aplicaciones complejas sea más sencillo y seguro. Aprovechando estos beneficios, este artículo también mostrará cómo puedes usarIronSecureDocpara el procesamiento seguro de documentos, aprovechando la flexibilidad de Docker Compose para gestionar configuraciones de cifrado y redacción de manera eficiente.

¿Qué es Docker?

Dockeres un sistema de código abierto para facilitar el desarrollo, despliegue y ejecución de aplicaciones en un sistema mediante la contenedorización. Los contenedores son unidades portátiles ultravolumen ligeras que contienen tanto una aplicación como sus dependencias para que se ejecuten uniformemente en todas partes, desde la máquina del desarrollador hasta los servidores de producción. Los contenedores comparten el núcleo del sistema operativo del host en comparación con las máquinas virtuales tradicionales y, por lo tanto, son mucho más rápidos y efectivos.

Variables de entorno de Docker Compose (Tutorial para desarrolladores): Figura 1 - Página web de Docker

Esto significaría una plantilla virtualizada en forma de imágenes Docker para crear y mantener este conjunto de contenedores. Además, la plataforma contiene Docker Hub, que es de alguna manera un repositorio de imágenes de contenedores. La belleza de esta tecnología radica en su facilidad de uso en lo que respecta a la escalabilidad, portabilidad y eficiencia, lo cual es una de las razones por las que ha ganado tanta popularidad entre muchos flujos de trabajo de DevOps y desarrollo en la nube.

¿Qué son las variables de entorno en Docker-Compose?

En Docker, una variable de entorno en forma de par clave-valor se utiliza para configurar los ajustes en la aplicación contenerizada. Tales variables pueden ser útiles para controlar el comportamiento de la aplicación sin modificar su código, ya que permiten configurar fácilmente credenciales de base de datos, claves de API o modos de entorno.(por ejemplo: desarrollo, producción)puede cambiarse.

En Docker, un atributo de entorno puede definirse dentro del Dockerfile, dentro del archivo docker-compose.yml, o pasarse en tiempo de ejecución usando el comando docker run. Con el uso de variables de entorno, Docker permite un despliegue de aplicaciones consistente y flexible en diferentes entornos y gestiona los datos sensibles como contraseñas y tokens de API de manera más efectiva.

¿Cómo crear variables de entorno en Docker?

Podemos definir variables de entorno en Docker de varias maneras. Se pueden definir con un archivo Docker Compose, el archivo docker-compose.yml, en un archivo de entorno, o incluso en tiempo de ejecución, mientras estás ejecutando el comando docker run. Recuerda, mantener las variables de entorno separadas del archivo de configuración principal conduce a una organización más sencilla de las variables.! Aquí hay una lista de los diversos métodos que se pueden aplicar para definir tus variables.

Establecer variables de entorno en el archivo Docker

Podemos definir variables de entorno directamente en el archivo Docker, utilizando la instrucción ENV. Eso puede ser útil si deseas incluir valores predeterminados para las variables dentro de tu imagen de Docker.

# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
#Dockerfile
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ENV APP_ENV=devepolment ENV DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

La configuración de las variables de entorno con los valores definidos en el archivo Docker conducirá automáticamente al tiempo de ejecución del contenedor.

Establecer variables de entorno en Docker-Compose.yml

Podemos definir variables de entorno para cada servicio dentro de un archivo docker-compose.yml con la ayuda de la palabra clave environment. Esto es útil cuando estás utilizando Docker Compose para gestionar un par de servicios.

version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
''3.8' services: myapp: image: myapp:latest environment: - APP_ENV=development - DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

Establecer variables de entorno en tiempo de ejecución

Podemos especificar variables de entorno al ejecutar un contenedor usando el indicador -e junto con el comando docker run. Esto es bueno para valores transitorios y dinámicos, que probablemente no agregarías al archivo de Docker.

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -e APP_ENV=development -e DATABASE_URL=postgres: 'user:password@db:1234/mydev:latest
VB   C#

Usando archivos de entorno (.env)

Podemos almacenar variables de entorno en un archivo como `.env` y cargarlas en sus contenedores de Docker. En Docker Compose, nos referiremos a ello con la directiva env file.

APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'APP_ENV=production DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

Podemos gestionar múltiples archivos, con variables de entorno fuera de los archivos de configuración mediante el uso de archivos env.

¿Qué es IronSecureDoc?

IronSecureDocpara Docker permite a los desarrolladores agregar fácilmente una capacidad de procesamiento de documentos segura a sus aplicaciones en contenedores. Finalmente, al haber aprendido Docker, puedes encapsular tu aplicación ASP.NET Core con IronSecureDoc en un entorno homogéneo que facilita su implementación y escalado. Para hacer esto, construirás un Dockerfile que orquesta la construcción de tu aplicación ASP.NET Core utilizando la biblioteca de IronSecureDoc y, posiblemente, otros scripts de instalación o configuraciones necesarias para que todo funcione.

Variables de entorno de Docker Compose (Tutorial para desarrolladores): Figura 2 - página web de IronSecureDoc

Además, incluye un archivo docker-compose.yml que declara las dependencias del servicio y las variables de entorno, así como los puertos mapeados para funcionar. Esto hace que la realización de tareas de seguridad de documentos sea mucho más accesible, de modo que su aplicación pueda ejecutarse de manera eficiente y efectiva en un entorno diferente al utilizado durante el desarrollo o la producción. Instalación y Configuración de IronSecureDoc Al igual que en el caso de Docker, se necesitará una instalación y configuración adecuada de IronSecureDoc para aprovechar correctamente sus capacidades: cifrado de documentos, censura, etc.

Características Clave de IronSecureDoc

IronSecureDoc ofrece una gama de potentes características para la seguridad de PDF y la gestión de documentos:

  • Cifrado: Proporciona cifrado de 128 o 256 bits con seguridad basada en contraseñas para proteger la confidencialidad del documento.
  • Redacción: Elimina información sensible, como identificadores personales, para cumplir con los estándares y regulaciones de privacidad.
  • Firma digital: Admite la firma digital y notarización con certificados .pfx o .p12 para garantizar la autenticidad del documento.
  • REST API: La API flexible permite una integración perfecta con otros software y flujos de trabajo.
  • Integración con Docker: El soporte nativo para Docker simplifica el despliegue y la escalabilidad para aplicaciones en la nube o locales.

    Estas características hacen que IronSecureDoc sea una excelente opción para sectores que manejan documentos sensibles, como el legal, la salud y las finanzas.

Instalación y ejecución de IronSecureDoc

Primer paso

Para instalar IronSecureDoc, ejecute el siguiente comando en una ventana de terminal o en el Símbolo del sistema para obtener la imagen de Docker de IronSecureDoc desde el repositorio.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

Variables de Entorno de Docker Compose (Tutorial para Desarrolladores): Figura 3 - Salida de consola para obtener la imagen de IronSecureDoc

Paso 2

Una vez que se haya descargado la imagen de IronSecureDoc. podemos usar el siguiente comando de docker-compose para ejecutar la imagen en el contenedor de Docker.

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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

Variables de entorno de Docker Compose (Tutorial para desarrolladores): Figura 4 - Salida de consola al ejecutar la imagen de IronSecureDoc

Utilizamos el contenedor de Docker para ejecutar el repositorio oficial de Iron Software. La línea de comando mostrada arriba se divide en varias partes que se explican a continuación.

Explicación del comando

  • docker container run - Este comando utiliza la imagen proporcionada para construir y lanzar un nuevo contenedor de Docker.
  • --rm - limpia automáticamente el contenedor inmediatamente después de que deja de ejecutarse. Elimina todos los contenedores no utilizados al momento de la finalización de cualquier proceso.
  • -p 8080:8080 - Deje que publique el puerto 8080 del contenedor, para que pueda acceder a él en su máquina desde http://localhost:8080.
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - Establece una variable de entorno en el contenedor en ejecución llamada IronSecureDoc_LicenseKey que te permite activar y usar las características con licencia de IronSecureDoc. Reemplace <IRONSECUREDOC_LICENSE_KEY> con su clave real.
  • -e ENVIRONMENT=Development - La variable de entorno está configurada como Development. Esto significa que el contenedor debe ejecutarse en modo de desarrollo. Normalmente, este contenedor se utiliza para los casos de prueba o depuración; aparte de eso, varía de las configuraciones de no producción.
  • -e HTTP_PORTS=8080 - Esta variable de entorno se utiliza para especificar que el contenedor debe exponer y escuchar el puerto 8080 para el tráfico HTTP. Garantiza que se logre el acceso al servicio dentro del contenedor al pasar por este puerto en particular.
  • ironsoftwareofficial/ironsecuredoc:latest - Esto es simplemente una imagen de Docker. El docker adecuado creará la versión más reciente de la imagen que está disponible en el registro de Docker para IronSecureDoc.

Contenedor IronSecuredoc

La API REST de IronSecureDoc permite a los usuarios redactar, certificar y cifrar documentos después de lanzarlo en Docker. esta función también se menciona en otros lugares. Aquí hay un enlace al Puntos finales de APIy documentación con Swagger UI, una vez que hayas lanzado IronSecureDoc en un contenedor Docker: http://localhost:8080/swagger/index.html.

Variables de entorno de Docker Compose (Tutorial para desarrolladores): Figura 5 - Swagger UI para interactuar con los puntos finales de la API

A partir del ejemplo anterior, podemos enviar una solicitud POST a la API de IronSecureDoc para enviar un documento para su encriptación:

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'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
VB   C#

Al hacer esto, IronSecureDoc obtendrá el documento y lo encriptará correctamente.

Conclusión

En resumen, las variables de entorno de Docker Compose permiten la configuración de aplicaciones de una manera muy flexible y eficiente, ya que los detalles de configuración se separan automáticamente del código de la aplicación. Como resultado, gestionar diferentes entornos como desarrollo, pruebas y producción es más sencillo, ya que solo es necesario cambiar variables como claves de API, credenciales de la base de datos y configuraciones de una aplicación en lugar de su código.

El uso de Docker Compose para implementar IronSecureDoc utiliza variables de entorno para manejar de forma segura la información de la licencia, por ejemplo, el IronSecureDoc_LicenseKey, y también para especificar los puertos HTTP o el modo de entorno preferido, ya sea desarrollo o producción, utilizando variables de entorno. El uso de variables de entorno para la configuración hace que sea más sencillo desplegar IronSecureDoc con configuraciones mucho menos desordenadas y difíciles de escalar, además de aumentar la seguridad.

Las funciones avanzadas se vuelven accesibles a través de un válidolicenciade IronSecureDoc. La aplicación de la herramienta depende estrictamente de ciertos términos de uso. Aunque también puedes utilizar otras bibliotecas de alto rendimiento que**IronSoftwareofrece facilitar y acelerar el proceso de desarrollo, proporcionando funcionalidades robustas para trabajar con PDFs, reconocimiento de texto y códigos de barras para cualquier aplicación imaginable.

Variables de entorno de Docker Compose (Tutorial del desarrollador): Figura 6 - Página de licencias de IronSecureDoc

< ANTERIOR
Lista de Contenedores Docker (Cómo Funciona Para Desarrolladores)
SIGUIENTE >
Compilación de Docker Compose (Tutorial para desarrolladores)