Einführung
Das Bereitstellen von Anwendungen in verschiedenen Umgebungen führt häufig zu Kompatibilitätsproblemen. Eine App kann auf dem Entwicklerrechner einwandfrei laufen, aber bei Tests oder im Produktionsumfeld auf Probleme stoßen, aufgrund von Unterschieden in Betriebssystemen, Abhängigkeiten oder Konfigurationen. Docker löst dieses Problem, indem es Anwendungen in eigenständige Einheiten verpackt, die alles enthalten, was zum Ausführen der App erforderlich ist, und sicherstellt, dass sie überall einheitlich funktioniert, von der Entwicklung bis zur Produktion.
Docker Compose bietet leistungsstarke Vorteile für containerisierte Anwendungen, insbesondere durch die Verwendung von Umgebungsvariablen zur Vereinfachung der Konfiguration über verschiedene Setups hinweg. Indem wichtige Einstellungen außerhalb des Codes verwaltet werden können, macht Docker Compose das Bereitstellen komplexer Anwendungen einfacher und sicherer. Aufbauend auf diesen Vorteilen wird in diesem Artikel auch gezeigt, wie Sie IronSecureDoc für die sichere Dokumentenverarbeitung nutzen können, indem Sie die Flexibilität von Docker Compose nutzen, um Konfigurationen für Verschlüsselung und Schwärzung effizient zu handhaben.
Was ist Docker?
Docker ist ein Open-Source-System, das die Anwendungsentwicklung, Bereitstellung und Ausführung in einem System durch Containerisierung erleichtert. Container sind ultra-leichte, portable Einheiten, die sowohl eine Anwendung als auch deren Abhängigkeiten enthalten, damit sie überall einheitlich laufen - von der Maschine des Entwicklers bis zu den Produktionsservern. Container teilen den Kernel des Betriebssystems des Hosts im Vergleich zu herkömmlichen virtuellen Maschinen und sind daher viel schneller und effektiver.

Dies würde einen virtualisierten Vorlagen in Form von Docker-Images bedeuten, um dieses Set von Containern zu erstellen und zu verwalten. Des Weiteren enthält die Plattform Docker Hub, das gewissermaßen ein Container-Image-Repository ist. Die Schönheit dieser Technologie liegt in ihrer Benutzerfreundlichkeit in Bezug auf Skalierbarkeit, Portabilität und Effizienz, was ein Grund dafür ist, dass sie bei vielen DevOps- und cloudbasierten Entwicklungs-Workflows so an Popularität gewonnen hat.
Was sind Umgebungsvariablen in Docker-Compose?
In Docker wird eine Umgebungsvariable in Form eines Schlüssel-Wert-Paars verwendet, um die Einstellungen der containerisierten Anwendung zu konfigurieren. Solche Variablen können nützlich sein, um das Verhalten der Anwendung selbst zu steuern, ohne deren Code zu ändern, da Konfigurationen wie Datenbankanmeldeinformationen und API-Schlüssel oder Umgebungsmodi (zum Beispiel: Entwicklung, Produktion) einfach geändert werden können.
In Docker kann ein Umgebungsattribut innerhalb der Dockerfile, innerhalb der docker-compose.yml-Datei oder zur Laufzeit mit dem docker run-Befehl definiert werden. Mit der Verwendung von Umgebungsvariablen ermöglicht Docker eine konsistente und flexible Anwendungsbereitstellung über verschiedene Umgebungen hinweg und verwaltet sensible Daten wie Passwörter und API-Token effektiver.
Wie erstellt man Umgebungsvariablen in Docker?
Wir können Umgebungsvariablen in Docker auf verschiedene Arten definieren. Sie können mit einer Docker Compose-Datei, der Datei docker-compose.yml, in einer Umgebungsdatei oder sogar zur Laufzeit definiert werden, während Sie den Befehl docker run ausführen. Denken Sie daran, dass das Trennen von Umgebungsvariablen von der Hauptkonfigurationsdatei zu einer einfacheren Organisation der Variablen führt! Hier ist eine Liste der verschiedenen Methoden, die angewendet werden können, um Ihre Variablen zu definieren.
Umgebungsvariablen in der Docker-Datei festlegen
Wir können Umgebungsvariablen direkt in der Docker-Datei mit der ENV-Anweisung definieren. Das kann hilfreich sein, wenn Sie Standardwerte für die Variablen in Ihrem Docker-Image einfügen möchten.
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
Das Setzen von Umgebungsvariablen mit den im Dockerfile definierten Werten führt automatisch zur Laufzeit des Containers.
Umgebungsvariablen in Docker-Compose.yml setzen
Wir können Umgebungsvariablen für jeden Dienst innerhalb einer docker-compose.yml mit Hilfe des Schlüsselworts environment
definieren. Dies ist praktisch, wenn Sie Docker Compose verwenden, um einige Dienste zu verwalten.
version: '3.8'
services:
myapp:
image: myapp:latest
environment:
- APP_ENV=development
- DATABASE_URL=postgres://user:password@db:1234/mydev
Umgebungsvariablen zur Laufzeit festlegen
Wir können Umgebungsvariablen festlegen, indem wir das -e-Flag zusammen mit dem docker run-Befehl verwenden, wenn wir einen Container ausführen. Dies ist gut für transiente und dynamische Werte, die Sie wahrscheinlich nicht in die Docker-Datei aufnehmen würden.
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
Verwendung von Umgebungsdateien (.env)
Wir können Umgebungsvariablen in einer Datei wie .env
speichern und in Ihre Docker-Container laden. In Docker Compose werden wir es mit der env file-Direktive referenzieren.
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
Wir können mehrere Dateien verwalten, mit Umgebungsvariablen außerhalb der Konfigurationsdateien, durch die Hilfe von env-Dateien.
Was ist IronSecureDoc?
IronSecureDoc für Docker ermöglicht Entwicklern, ihren containerisierten Anwendungen problemlos eine sichere Dokumentenverarbeitungskapazität hinzuzufügen. Nachdem Sie Docker endlich gelernt haben, sind Sie in der Lage, Ihre ASP.NET Core-Anwendung mit IronSecureDoc in einer homogenen Umgebung zu kapseln, die die Bereitstellung und Skalierung erleichtert. Dazu erstellen Sie eine Dockerfile, die den Aufbau Ihrer ASP.NET Core-Anwendung unter Verwendung der IronSecureDoc-Bibliothek und möglicherweise anderer Installationsskripte oder Konfigurationen, die benötigt werden, orchestriert, damit alles funktioniert.

Außerdem enthält es eine docker-compose.yml-Datei, die die Dienstabhängigkeiten und Umgebungsvariablen sowie die zugewiesenen Ports deklariert. Dies erleichtert die Durchführung von Dokumentensicherheitsaufgaben erheblich, sodass Ihre Anwendung effizient und effektiv in einer anderen Umgebung als der im Entwicklungs- oder Produktionsumfeld verwendeten Umgebung ausgeführt werden kann. Installation und Konfiguration von IronSecureDoc Wie bei Docker wird eine ordnungsgemäße Installation und Konfiguration von IronSecureDoc benötigt, um seine Fähigkeiten wie Dokumentenverschlüsselung, Schwärzung usw. vollständig zu nutzen.
Hauptmerkmale von IronSecureDoc
IronSecureDoc bietet eine Reihe leistungsstarker Funktionen für die PDF-Sicherheit und das Dokumentenmanagement.
- Verschlüsselung: Bietet 128- oder 256-Bit-Verschlüsselung mit passwortbasierter Sicherheit zum Schutz der Vertraulichkeit von Dokumenten.
- Schwärzung: Entfernt sensible Informationen, wie persönliche Identifikatoren, um Datenschutzstandards und -vorschriften zu erfüllen.
- Digitale Signierung: Unterstützt die digitale Signierung und Beurkundung mit .pfx- oder .p12-Zertifikaten, um die Echtheit von Dokumenten sicherzustellen.
- REST-API: Die flexible API ermöglicht eine nahtlose Integration mit anderer Software und Workflows.
Docker-Integration: Die native Unterstützung für Docker vereinfacht die Bereitstellung und Skalierung für Cloud- oder On-Premises-Anwendungen.
Diese Funktionen machen IronSecureDoc zu einer hervorragenden Wahl für Branchen, die mit sensiblen Dokumenten umgehen, wie Recht, Gesundheitswesen und Finanzen.
Installation und Ausführung von IronSecureDoc
Schritt 1
Um IronSecureDoc zu installieren, führen Sie den folgenden Befehl in einem Terminalfenster oder der Eingabeaufforderung aus, um das IronSecureDoc Docker-Image aus dem Repository zu erhalten.
docker pull ironsoftwareofficial/ironsecuredoc

Schritt 2
Sobald das IronSecureDoc-Image gezogen wurde. Wir können den untenstehenden docker-compose-Befehl verwenden, um das Image im Docker-Container auszuführen.
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

Wir verwenden den Docker-Container, um das offizielle Repository von IronSoftware auszuführen. Die oben gezeigte Befehlszeile zerfällt in mehrere Teile, die im Folgenden erklärt werden.
Befehlserklärung
docker container run
- Dieser Befehl verwendet das angegebene Image, um einen neuen Docker-Container zu erstellen und zu starten.- --rm - bereinigt automatisch den Container sofort, nachdem er gestoppt wurde. Es entfernt alle ungenutzten Container zum Zeitpunkt des Abschlusses eines Prozesses.
- -p 8080:8080 - Lassen Sie es den Port 8080 des Containers veröffentlichen, sodass Sie von http://localhost:8080 darauf zugreifen können.
- -e
IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY>
- Setzen Sie eine Umgebungsvariable im laufenden Container mit dem Namen IronSecureDoc_LicenseKey, die es Ihnen ermöglicht, die lizenzierten Funktionen von IronSecureDoc zu aktivieren und zu nutzen. Ersetzen Sie <IRONSECUREDOC_LICENSE_KEY> durch Ihren tatsächlichen Schlüssel. -e ENVIRONMENT=Development
- Die Umgebungsvariable ist auf Development gesetzt. Das bedeutet, dass der Container im Entwicklungsmodus ausgeführt werden muss. Normalerweise wird dieser Container für Test- oder Debug-Fälle verwendet; abgesehen davon unterscheidet es sich von Nichtproduktionskonfigurationen.-e HTTP_PORTS=8080
- Diese Umgebungsvariable wird verwendet, um anzugeben, dass der Container den Port 8080 für HTTP-Verkehr exponieren und abhören soll. Es stellt sicher, dass der Zugriff auf den Service innerhalb des Containers durch die Weiterleitung über diesen bestimmten Port erfolgt.ironsoftwareofficial/ironsecuredoc:latest
- Dies ist einfach ein Docker-Image. Der Docker-Prozess erstellt die neueste Version des Images, die im Docker-Registry für IronSecureDoc verfügbar ist.
IronSecuredoc Container
Die REST API von IronSecureDoc ermöglicht es Benutzern, Dokumente nach dem Starten in Docker zu redigieren, zu zertifizieren und zu verschlüsseln. Diese Funktion wird auch an anderer Stelle erwähnt. Hier ist ein Link zu den API-Endpunkten und der Dokumentation mit Swagger UI, nachdem Sie IronSecureDoc in einem Docker-Container gestartet haben: http://localhost:8080/swagger/index.html
.

Aus dem obigen Beispiel können wir eine POST-Anfrage an die IronSecureDoc API senden, um ein Dokument zur Verschlüsselung einzureichen:
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'
Indem Sie dies tun, wird IronSecureDoc das Dokument erhalten und ordnungsgemäß verschlüsseln.
Schlussfolgerung
Zusammenfassend lassen die Umgebungsvariablen von Docker Compose eine sehr flexible und effiziente Konfiguration von Anwendungen zu, da sich die Konfigurationsdetails automatisch vom Anwendungscode trennen. Folglich ist die Verwaltung verschiedener Umgebungen wie Entwicklung, Test und Produktion einfacher, da nur Variablen wie API-Schlüssel, Datenbankanmeldedaten und Anwendungseinstellungen geändert werden müssen, anstatt der Code selbst.
Die Verwendung von Docker Compose zur Implementierung von IronSecureDoc nutzt Umgebungsvariablen, um die Lizenzinformationen sicher zu handhaben, beispielsweise den IronSecureDoc_LicenseKey, und um die HTTP-Ports oder den bevorzugten Umgebungsmodus entweder als Entwicklung oder Produktion mithilfe von Umgebungsvariablen anzugeben. Die Verwendung von Umgebungsvariablen für die Einrichtung vereinfacht die Bereitstellung von IronSecureDoc mit deutlich weniger überladenen und schwer skalierbaren Konfigurationen und erhöht die Sicherheit.
Erweiterte Funktionen werden durch eine gültige Lizenz von IronSecureDoc zugänglich. Die Anwendung des Tools hängt streng von bestimmten Nutzungsbedingungen ab. Obwohl Sie auch andere leistungsstarke Bibliotheken nutzen können, die Iron Software anbietet, um den Entwicklungsprozess einfacher und schneller zu gestalten, indem sie robuste Funktionen für die Arbeit mit PDFs, Texterkennung und Barcodes für jede erdenkliche Anwendung bereitstellen.
