Passer au contenu du pied de page
UTILISATION DE IRONSECUREDOC

Construction de Docker Compose (Tutoriel pour développeurs)

What is Docker?

Docker is an open-source platform that simplifies the process of developing, deploying, and running applications using containerization. Containers are ultralight, portable units that package an application along with its dependencies, enabling consistent execution across diverse environments, from a developer's local system to production servers. Unlike traditional virtual machines, containers utilize the host operating system's kernel, enhancing their speed and efficiency.

Docker Compose Build (Developer Tutorial): Figure 1

Docker offers a virtualized template through Docker images to create and manage sets of containers. It includes the Docker Hub, a form of container image repository. The great appeal of this technology is its scalability, portability, and efficiency, making it highly popular in DevOps and cloud-centric development workflows.

How does Docker work?

  • The Docker Daemon listens for requests from the Docker Client, which may include docker build, docker pull, or docker run.
  • Docker Daemon handles the creation, management, and monitoring of containers. It also retrieves the required Docker images from a registry, such as Docker Hub.
  • Using the downloaded image, the daemon creates an isolated container, effectively a running instance of the application.
  • Containers share the host machine's OS kernel but remain isolated from each other, enabling the software to operate in a unique environment with its dependencies.
+--------------------+
|   Docker Client    |
|  (CLI/API)         |
+--------------------+
          |
          v
+--------------------+               +---------------------+
|   Docker Daemon    |   -------->   |   Docker Registry   |
|  (manages resources|               |  (stores images)    |
|  & runs containers)|               +---------------------+
+--------------------+
          |
          v
+---------------------+
|      Container      |  
|  (App Instance)     |
+---------------------+
          |
          v
+---------------------+
| Docker Image        |  
| (App Blueprint)     |
+---------------------+

What is Docker Compose?

Docker Compose provides an easy way to manage a multi-container Docker application using a single file: docker-compose.yml. This YAML file enables the configuration of multiple services, specifying aspects like Docker images, environment variables, networks, and volumes. You can utilize Docker Compose commands such as docker-compose up or docker-compose down to manage all containers in an application with a single action.

+--------------------------+
|   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 is particularly advantageous for complex applications like microservices with numerous container instances. It is effectively used across development, testing, and production settings.

Create a New React JS application With ASP.NET Core

Follow these steps to create a new Visual Studio React application with an ASP.NET Core backend and add Docker support:

Prerequisites

  • Visual Studio: Ensure Visual Studio 2022 or newer is installed with necessary workloads:
    • Web development and ASP.NET
    • Node.js development (React)
    • Docker Support
  • Docker Desktop: Must be installed and running.

Create New Project

  1. Open Visual Studio and choose New Project from the menu.

    Docker Compose Build (Developer Tutorial): Figure 2

  2. Search for "React and ASP.NET Core Web Application" in the "Create a new project" dialog and select it. Click Next.

    Docker Compose Build (Developer Tutorial): Figure 3

  3. Provide a name for the project, select a solution name, and choose the save location. Click Next.

    Docker Compose Build (Developer Tutorial): Figure 4

  4. Ensure Docker Support is enabled. Select the desired framework and click Create.

    Docker Compose Build (Developer Tutorial): Figure 5

  5. After project creation, add Docker support by right-clicking the project node and selecting Add > Docker Support.

    Docker Compose Build (Developer Tutorial): Figure 6

  6. Choose the container name and type, then click Ok.

    Docker Compose Build (Developer Tutorial): Figure 7

Now that the newly created project is added to the Docker container, Docker Compose commands can run it. Below is a sample output generated from the React JS client-side code.

Docker Compose Build (Developer Tutorial): Figure 8

Below is the API server-side code executing from the Docker container.

Docker Compose Build (Developer Tutorial): Figure 9

IronSecureDoc

IronSecureDoc enables developers to efficiently embed secure document processing into containerized applications. With Docker's support, encapsulate your ASP.NET Core app using IronSecureDoc, encouraging seamless deployment and scaling. Build a Dockerfile to integrate IronSecureDoc with your ASP.NET Core app, along with necessary scripts or configurations.

Docker Compose Build (Developer Tutorial): Figure 10 - IronSecureDoc

Moreover, a docker-compose.yml file can outline service dependencies and environment variables for easy access, assisting in handling document security tasks efficiently in different deployment settings. Ensuring the install and configuration of IronSecureDoc, like Docker, is essential for delivering features like document encryption and redaction.

Installing and Running IronSecureDoc

Retrieve the IronSecureDoc Docker image with this command:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose Build (Developer Tutorial): Figure 11

After pulling the image, use the following command to launch IronSecureDoc in a new container:

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 (Developer Tutorial): Figure 12

Using IronSecureDoc with Docker Container

IronSecureDoc's REST API allows document operations like redaction, certification, and encryption once installed and running in Docker. For more on API endpoints, check the documentation.

To encrypt a document, send a POST request to the IronSecureDoc API:

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

This command submits the document to IronSecureDoc for encryption.

Conclusion

Integrating Docker Compose with IronSecureDoc greatly enhances the efficiency and reliability of applications requiring secure document handling. Docker Compose effectively manages multi-container applications, streamlining dependencies and services coordination, including IronSecureDoc, which ensures development environment consistency, simplifies configurations, and boosts scalability.

In this setup, developers can fully leverage document security features, like encryption and redaction, within a containerized framework. Overall, combining Docker Compose with IronSecureDoc enriches the development process, offering a secure, efficient method for handling sensitive documents in modern applications. For information on IronSecureDoc licensing, visit this page. Click here to explore more Iron Software products.

Questions Fréquemment Posées

Qu'est-ce que Docker et comment facilite-t-il le déploiement d'applications ?

Docker est une plate-forme open-source qui simplifie le développement et le déploiement d'applications en utilisant des conteneurs. Les conteneurs sont des unités légères et portables qui emballent une application avec toutes ses dépendances, garantissant une exécution cohérente dans divers environnements.

Comment Docker Compose aide-t-il à gérer des applications complexes ?

Docker Compose est un outil qui gère des applications Docker multi-conteneurs à l'aide d'un fichier `docker-compose.yml`. Il simplifie la configuration et la coordination des services, des images, des réseaux et des volumes, ce qui le rend idéal pour gérer des applications complexes comme les microservices.

Quelles sont les étapes pour créer une application React JS avec ASP.NET Core en utilisant Docker dans Visual Studio ?

Pour créer une application React JS avec ASP.NET Core en utilisant Docker dans Visual Studio, assurez-vous que vous avez Visual Studio 2022 ou une version ultérieure avec les charges de travail nécessaires et Docker Desktop installé. Créez le projet, ajoutez le support Docker, et utilisez les commandes Docker Compose pour gérer l'application.

Comment IronSecureDoc s'intègre-t-il à Docker pour le traitement sécurisé des documents ?

IronSecureDoc peut être intégré à Docker en extrayant son image Docker et en l'exécutant dans un conteneur. Cette configuration permet des opérations de traitement sécurisé des documents comme le chiffrement et l'occultation via son API REST, améliorant ainsi la sécurité dans les applications conteneurisées.

Quels sont les avantages de l'utilisation de Docker Compose avec IronSecureDoc pour le traitement des documents ?

L'intégration de Docker Compose avec IronSecureDoc améliore l'efficacité et la fiabilité de l'application en gérant les dépendances et les services dans un environnement conteneurisé. Elle garantit une gestion des documents sécurisée et évolutive, ce qui est crucial pour les applications nécessitant une sécurité documentaire robuste.

Comment ajouter un support Docker à un projet Visual Studio existant ?

Pour ajouter un support Docker à un projet Visual Studio existant, cliquez avec le bouton droit sur le nœud du projet, sélectionnez Ajouter > Support Docker, et choisissez les options de conteneur appropriées. Cela intègre les capacités Docker dans votre projet, permettant un développement conteneurisé.

Quel est le processus pour exécuter IronSecureDoc dans un conteneur Docker ?

Pour exécuter IronSecureDoc dans un conteneur Docker, utilisez la commande `docker pull` pour obtenir l'image, puis exécutez `docker container run` avec les variables d'environnement nécessaires comme la clé de licence et les ports. Cette configuration facilite le traitement sécurisé des documents dans un conteneur.

Comment puis-je chiffrer un document en utilisant IronSecureDoc dans un environnement Docker ?

Vous pouvez chiffrer un document en utilisant IronSecureDoc en envoyant une requête POST à son API. Utilisez la commande `curl` pour télécharger le document, en spécifiant le chemin du fichier local et les paramètres de chiffrement. Cette opération sécurise le document dans un conteneur Docker.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite