Zum Fußzeileninhalt springen
VERWENDUNG VON IRONSECUREDOC

Docker Compose Build (Entwickler-Tutorial)

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.

Häufig gestellte Fragen

Was ist Docker und wie erleichtert es die Bereitstellung von Anwendungen?

Docker ist eine Open-Source-Plattform, die die Entwicklung und Bereitstellung von Anwendungen mithilfe von Containern vereinfacht. Container sind leichte, tragbare Einheiten, die eine Anwendung mit allen ihren Abhängigkeiten bündeln und einen konsistenten Ablauf in verschiedenen Umgebungen gewährleisten.

Wie unterstützt Docker Compose die Verwaltung komplexer Anwendungen?

Docker Compose ist ein Tool zur Verwaltung von Multi-Container-Docker-Anwendungen mithilfe einer `docker-compose.yml`-Datei. Es vereinfacht die Konfiguration und Koordination von Diensten, Images, Netzwerken und Volumes und ist ideal zur Verwaltung komplexer Anwendungen wie Microservices.

Welche Schritte gibt es, um eine React JS-Anwendung mit ASP.NET Core unter Verwendung von Docker in Visual Studio zu erstellen?

Um eine React JS-Anwendung mit ASP.NET Core unter Verwendung von Docker in Visual Studio zu erstellen, stellen Sie sicher, dass Sie Visual Studio 2022 oder später mit den erforderlichen Workloads und Docker Desktop installiert haben. Erstellen Sie das Projekt, fügen Sie Docker-Support hinzu und verwenden Sie Docker Compose-Befehle, um die Anwendung zu verwalten.

Wie integriert sich IronSecureDoc mit Docker für die sichere Dokumentenverarbeitung?

IronSecureDoc kann mit Docker integriert werden, indem das Docker-Image gezogen und innerhalb eines Containers ausgeführt wird. Dieses Setup ermöglicht sichere Dokumentenverarbeitungsoperationen wie Verschlüsselung und Redaktion über seine REST-API und verbessert die Sicherheit in containerisierten Anwendungen.

Welche Vorteile bietet die Verwendung von Docker Compose mit IronSecureDoc für die Dokumentenverarbeitung?

Durch die Integration von Docker Compose mit IronSecureDoc wird die Effizienz und Zuverlässigkeit von Anwendungen verbessert, indem Abhängigkeiten und Dienste in einer containerisierten Umgebung verwaltet werden. Dies gewährleistet eine sichere und skalierbare Dokumentenverarbeitung, was für Anwendungen erforderlich ist, die eine robuste Dokumentensicherheit erfordern.

Wie fügt man einem bestehenden Visual-Studio-Projekt Docker-Support hinzu?

Um einem bestehenden Visual-Studio-Projekt Docker-Support hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Projektnotiz, wählen Sie Hinzufügen > Docker-Support und wählen Sie die entsprechenden Containeroptionen. Dies integriert Docker-Fähigkeiten in Ihr Projekt und ermöglicht eine containerisierte Entwicklung.

Wie ist der Prozess, um IronSecureDoc in einem Docker-Container auszuführen?

Um IronSecureDoc in einem Docker-Container auszuführen, verwenden Sie den 'docker pull'-Befehl, um das Image zu erhalten, und führen dann 'docker container run' mit den erforderlichen Umgebungsvariablen wie Lizenzschlüssel und Ports aus. Diese Einrichtung erleichtert die sichere Dokumentenverarbeitung innerhalb eines Containers.

Wie kann ich ein Dokument mit IronSecureDoc in einer Docker-Umgebung verschlüsseln?

Sie können ein Dokument mit IronSecureDoc verschlüsseln, indem Sie eine POST-Anfrage an dessen API senden. Verwenden Sie den 'curl'-Befehl, um das Dokument hochzuladen und den lokalen Dateipfad sowie die Verschlüsselungsparameter anzugeben. Dieser Vorgang sichert das Dokument innerhalb eines Docker-Containers.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen