Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Docker es una plataforma de código abierto que utiliza conceptos basados en contenedores para automatizar el despliegue y la escalabilidad de aplicaciones dentro de contenedores ligeros y portátiles. En pocas palabras, un contenedor Docker reúne todo el código de la aplicación y sus dependencias en una sola unidad, manteniendo la consistencia en diversos entornos, desde el portátil del desarrollador hasta el servidor de prueba o los servidores en la nube de producción.
Los contenedores no se comportan como los tradicionalesmáquinas virtuales (VMs)porque comparten el núcleo del sistema operativo del sistema anfitrión. Por lo tanto, los contenedores son mucho más eficientes y rápidos de iniciar. De hecho, los contenedores Docker garantizan un comportamiento consistente en todas las etapas del ciclo de desarrollo.
De hecho, las imágenes de Docker son plantillas para descripciones de contenedores que contienen el entorno de la aplicación. Este conjunto también incluye herramientas para gestionar ciclos de vida de contenedores. Un ejemplo es Docker Compose, que puedes usar para orquestar aplicaciones que consisten en múltiples contenedores. Luego está Docker Hub, un registro para compartir imágenes.
Las redes de Docker Compose permiten que los servicios que se ejecutan en una aplicación de Docker Compose se comuniquen entre sí dentro de los mismos entornos encapsulados. Si defines más de un servicio en un archivo docker-compose.yml, Docker Compose crea una red predeterminada automáticamente para que esos servicios puedan comunicarse entre sí usando los nombres de los servicios como nombres de host. Esencialmente permite al usuario definir su propia red y múltiples servicios con la red creada.
Red de puente por defecto: Si no defines ninguna red para tus contenedores al ejecutar docker-compose up, Docker crea automáticamente una red de puente. Todos los contenedores pueden comunicarse entre sí utilizando su nombre de servicio como nombre de host en esta red de controlador predeterminada.
Redes personalizadas: Con estas opciones, los usuarios pueden definir una o dos redes personalizadas y aún más como redes definidas por el usuario. Puede definir redes personalizadas dentro de su archivo de puerto de contenedor y docker-compose.yml. Al asignar servicios a estas redes, controla cómo pueden comunicarse los contenedores:
Múltiples redes permiten que algunos servicios se comuniquen entre sí mientras niegan a otros dicho acceso.
Descubrimiento de servicios: Cada servicio obtiene un nombre de host igual a su nombre en la configuración. Es decir, puedes hacer referencia a otro servicio en un contenedor utilizando el nombre del otro servicio, por ejemplo, en el servicio web, usarías db para referirte a la IP del contenedor de base de datos.
Modos de red: También puedes establecer modos de red para usar host, bridge o none para los servicios. El más utilizado es un puente, que aísla el tráfico de contenedores.
Los controladores de red de Docker describen las conexiones y la comunicación de los contenedores entre sí y con otros contenedores y sistemas. Existen varios casos de uso, y los controladores de red pueden aplicarse a estos casos, cada uno brindando un nivel diferente de aislamiento, conectividad y rendimiento. Pasaremos por cada controlador de red y explicaremos su uso.
Las redes internas de Docker permiten que un contenedor se comunique con otros basados en un solo host. Si lanzas contenedores sin especificar una red, Docker utiliza la red puente predeterminada.
docker network create --driver bridge my_bridge_network
docker run -d --name container1 --network my_bridge_network busybox sleep 3600
docker run -d --name container2 --network my_bridge_network busybox sleep 3600
docker network create --driver bridge my_bridge_network
docker run -d --name container1 --network my_bridge_network busybox sleep 3600
docker run -d --name container2 --network my_bridge_network busybox sleep 3600
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create --driver bridge my_bridge_network docker run -d --name container1 --network my_bridge_network busybox sleep 3600 docker run -d --name container2 --network my_bridge_network busybox sleep 3600
Aquí, los nombres de los servicios se pueden usar para comunicarse, como hacer ping a container1 y container2.
Con el controlador de host, el contenedor comparte directamente la pila de red del host, por lo que un contenedor no obtiene su propio aislamiento de red personalizado.
docker run -d --network host nginx
docker run -d --network host nginx
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d --network host nginx
El contenedor NGINX ahora comparte la IP y las interfaces de red del host, por lo que pasa por alto el aislamiento de la red.
Interconecta contenedores a través de varios hosts y se utiliza principalmente en entornos Docker Swarm o Kubernetes, conectando máquinas físicas o virtuales a través de contenedores para comunicarse de manera segura utilizando una red virtual.
docker network create -d overlay my_overlay_network
docker service create --name web --network my_overlay_network nginx
docker network create -d overlay my_overlay_network
docker service create --name web --network my_overlay_network nginx
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d overlay my_overlay_network docker service create --name web --network my_overlay_network nginx
Esto crea un servicio en un clúster de Swarm que puede extenderse a través de múltiples hosts de Docker.
Ninguno:
Este controlador ninguno desactiva la conexión a la red para el contenedor. Este contenedor está aislado de cualquier tipo de comunicación de red externa.
docker run -d --network none busybox sleep 3600
docker run -d --network none busybox sleep 3600
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d --network none busybox sleep 3600
El contenedor busy box no tendrá acceso a internet y no podrá enviar llamadas a otros contenedores dentro de sus propias redes ni al mundo exterior.
El controlador Macvlan permite que los contenedores aparezcan como dispositivos físicos en la red con sus propias direcciones MAC, de modo que puedan acceder directamente a la red física.
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 macvlan_network
docker run -d --network macvlan_network busybox sleep 3600
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 macvlan_network
docker run -d --network macvlan_network busybox sleep 3600
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 macvlan_network docker run -d --network macvlan_network busybox sleep 3600
El controlador IPvlan es similar a Macvlan, pero se centra en asignar direcciones IP en lugar de depender de la Capa 2.(Direcciones MAC). Permite que varios contenedores compartan la misma interfaz de red.
docker network create -d ipvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 ipvlan_network
docker run -d --network ipvlan_network busybox sleep 3600
docker network create -d ipvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 ipvlan_network
docker run -d --network ipvlan_network busybox sleep 3600
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d ipvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 ipvlan_network docker run -d --network ipvlan_network busybox sleep 3600
Compartirá la interfaz Ethernet de Capa 2 del host con mi red, pero tendrá una dirección IP diferente.
Los plugins personalizados de Docker son controladores de red desarrollados por terceros o usuarios que ofrecen características elaboradas en las capacidades de red, más allá de lo que Docker puede ofrecer por defecto. Los marcos de soluciones de redes externas y complementos Docker de terceros permiten que los contenedores Docker accedan e integren algunos marcos bien conocidos como las Redes Definidas por Software, mejorando así las capacidades de los desarrolladores, como la seguridad, la escalabilidad y la red de múltiples hosts. Docker proporciona a los desarrolladores y proveedores una arquitectura versátil para complementos de red, lo que les permite instalar y usar Docker de la misma manera que el controlador nativo.
IronSecureDoc for Docker facilita a los desarrolladores agregar capacidades de procesamiento de documentos seguros a sus aplicaciones en contenedores. Con Docker, puedes encapsular tu aplicación ASP.NET Core con IronSecureDoc en un entorno uniforme que facilita la implementación y el escalado. Para hacerlo funcionar, construyes un Dockerfile que compone tu aplicación ASP.NET Core utilizando la biblioteca IronSecureDoc y posiblemente otros scripts de instalación o configuraciones necesarias para hacer que las cosas funcionen.
También incluye un archivo docker-compose.yml que comprende dependencias de servicio, variables de entorno y puertos mapeados, proporcionando así acceso a esto. Por lo tanto, las tareas relacionadas con la seguridad de documentos facilitan la gestión para que tu aplicación web funcione de manera eficiente y efectiva fuera de la utilizada en desarrollo o producción. Instalación y configuración de IronSecureDoc Como es el caso con Docker, la correcta instalación y configuración de IronSecureDoc será necesaria para aprovechar todas las capacidades ofrecidas por el cifrado de documentos, redacción, etc.
Ejecute el siguiente comando en el Símbolo del sistema o en una ventana de terminal abierta para que la imagen de Docker de IronSecureDoc se obtenga del repositorio.
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
Después de extraer una imagen de un contenedor de Docker, podemos usar otro comando para iniciar IronSecureDoc, otro contenedor operativo.
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
El comando Docker run anterior levantará una instancia de contenedor de IronSecureDoc. Se asume la red de puente para el aislamiento de la red. Esto también permite el acceso externo a los servicios expuestos dentro del contenedor a través de http://localhost:8080 usando la opción -p 8080:8080. esto expone el servicio interno, que se ejecuta en el puerto 8080 de la red del contenedor, en su propia red, en el puerto 8080 de la red existente del host.
De forma predeterminada, los contenedores se ejecutan en la red bridge de Docker, por lo que se aíslan de otros contenedores y del mundo exterior a menos que los expongas utilizando el mapeo de puertos, que es lo que haces aquí. Las variables de entorno que se están pasando, IronSecureDoc_LicenseKey, ENVIRONMENT, HTTP_PORTS, configuran el comportamiento de la aplicación en el contenedor. Esta bandera provoca que el contenedor sea eliminado cuando se detiene.
Esta configuración tiene la ventaja de que la red de puente aísla los servicios de conexión del contenedor internamente, mientras que la asignación de puertos desvía el tráfico externo de la máquina host al servicio del contenedor, facilitando así el acceso.
La API REST de IronSecureDoc permite a los usuarios redactar, certificar y encriptar documentos al instalar y lanzar en Docker. también se ha mencionado en otros lugares. Aquí está elenlacea la documentación.
Por ejemplo, para enviar un documento para cifrado, puede realizar un POST al 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'
'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'
Esto enviará automáticamente el documento a IronSecureDoc, donde se cifrará adecuadamente.
En general, la red de Docker es importante para controlar las aplicaciones y su interacción con otras aplicaciones y el resto del mundo a través de diferentes controladores y configuraciones para diversas necesidades de aplicación. La configuración predeterminada de la red de puente permite alcanzar un aislamiento muy básico, ya que el servicio puede exponerse a los sistemas host a través del mapeo de puertos, como en el caso de la aplicación IronSecureDoc. Facilita la gestión y configuración más sencilla de aplicaciones contenedorizadas, ya que mejora la flexibilidad operativa y la escalabilidad de la aplicación.
IronSecureDoc, una herramienta avanzada de procesamiento de documentos, siempre está lista para utilizar las capacidades de Docker en términos de contenedorización. Eso significa implementar aplicaciones con rapidez y fiabilidad, garantizando soporte para múltiples entornos mientras el soporte de aplicaciones ambientales es incluso en naturaleza. Integra la red de Docker con IronSecureDoc, donde la integración de aplicaciones es fácil, accesible y gestionada.
Por lo tanto, optimiza los flujos de trabajo mucho mejor para mejorar la eficiencia y los resultados en las operaciones al procesar documentos. Esto mejorará en última instancia la experiencia tanto en el desarrollo como en el despliegue, convirtiéndose así en una solución valiosa para las aplicaciones de software modernas. Para obtener más información sobre las licencias de IronSecureDoc, por favor siga este página. Para obtener más información sobre muchas de las ofertas de productos de Iron Software, siga este enlace.
10 productos API de .NET para sus documentos de oficina