Zum Fußzeileninhalt springen
VERWENDUNG VON IRONSECUREDOC

Docker-Container aus Image starten (Entwickler-Tutorial)

Was ist Docker?

Docker ist eine Open-Source-Plattform, die Anwendungen automatisch in leichtgewichtigen, portablen Containern bereitstellt und verwaltet. Container bündeln eine Anwendung zusammen mit ihren Abhängigkeiten, einschließlich Bibliotheken und Konfigurationsdateien, sodass sie konsistent über verschiedene Umgebungen hinweg ausgeführt werden kann. Diese Konsistenz macht die Entwicklung und das Testen einfacher, da Anwendungen identisch auf unterschiedlichen Systemen laufen können – egal ob auf dem Laptop eines Entwicklers, einem Server oder einer Cloud-Umgebung. Skalierbarkeit im Anwendungsmanagement bedeutet, Container effizient zu entwickeln, zu verschicken und auszuführen, was Docker erleichtert.

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 1 - Docker

Docker-Bilder erleichtern den Entwicklern die Spezifikation einer konsistenten Laufzeitumgebung erheblich. Die meisten vorgefertigten Images sind in einem offenen Register namens Docker Hub zu finden, das Entwickler direkt nutzen oder anpassen können. Für Anwendungen, die mehrere Container beinhalten, orchestriert Tools wie Docker Compose den Container, während Kubernetes noch komplexere Skalierung und Automatisierung managen kann. Docker ist zu einem unverzichtbaren Werkzeug in der Softwareentwicklung und bei DevOps geworden.

Was ist ein Docker-Container?

Ein Docker-Container ist im Wesentlichen eine Anwendung mit all ihren Abhängigkeiten – wie Bibliotheken, Binärdateien und Konfigurationsdateien – zusammengefasst in einer leichtgewichtigen, eigenständigen ausführbaren Einheit. Container, die in Isolation entworfen sind, laufen auf dem Kernel des Host-Betriebssystems und vermeiden Interferenzen von anderer ausgeführter Software. Da sie einfach zu starten, zu stoppen oder zu löschen sind, eignen sie sich ideal für Tests, Bereitstellung und Skalierung.

Docker-Container-Funktionen

  • Isolation: Container laufen in isolierten Umgebungen; Anwendungen kommen sich nicht ins Gehege, selbst wenn sie unterschiedliche Satz von Abhängigkeiten oder Bibliotheken verwenden.
  • Leichtgewicht: Container teilen sich den Kernel des Host-Betriebssystems, sodass sie klein sind und schnellere Startzeiten haben als VMs.
  • Portabilität: Container sind deterministisch und können auf jedem System laufen, das Docker verwendet, was Konsistenz über Entwicklungs-, Test- und Produktionsumgebungen hinweg gewährleistet.
  • Skalierbarkeit: Container können leicht repliziert und skaliert werden, was eine schnelle Bereitstellung und Verwaltung von Microservices unterstützt.
  • Ressourceneffizienz: Container verbrauchen weniger Ressourcen als VMs, was eine höhere Dichte und effiziente Nutzung von Rechnerressourcen ermöglicht.

Was ist ein Docker-Image?

Ein Docker-Image ist ein Bauplan zur Erstellung von Containern. Es ist schreibgeschützt und geschichtet und beschreibt die Systemdateien und Abhängigkeiten, die benötigt werden, um eine Anwendung auszuführen. Dockerfiles werden verwendet, um Images zu erstellen, indem sie angeben, wie ein Docker-Image aufgebaut werden soll, was Aufgaben wie Softwareinstallation oder Dateikopieren beinhalten kann. Jede Änderung an einem Dockerfile erzeugt eine neue Imageschicht, was Effizienz und Modularität beibehält.

Merkmale eines Docker-Images

  • Mehrstufiger Stack: Images werden mit Schichten unter Verwendung von Dockerfiles erstellt. Jede Anweisung in einem Dockerfile fügt eine Schicht hinzu, daher sollten Images so optimiert werden, dass nur geänderte Schichten neu gebaut werden.
  • Wiederverwendbarkeit: Basisimages wie Ubuntu oder Node.js können über Projekte hinweg erneut verwendet werden, was Entwicklungszeit und -ressourcen spart.
  • Versionskontrolle: Images können für die Versionierung getaggt werden, was ein einfaches Zurückrollen zu vorherigen Versionen ermöglicht, falls erforderlich.
  • Modularität: Änderungen an einem Image sind inkrementell, wodurch Updates einfach durchgeführt werden können, ohne das gesamte Image neu zu bauen.
  • Verfügbar auf Docker Hub: Öffentliche und private Image-Register erleichtern das einfache Teilen und Bereitstellen von Images.

Wie man einen Docker-Container erstellt

Das Dockerfile ist eine Textdatei mit Anweisungen zum Erstellen eines Docker-Images. In dieser Datei spezifizieren Sie das Basis-Image, Abhängigkeiten, Anwendungscode, Umgebungsvariablen und Befehle zum Ausführen der Anwendung. Hier ist ein einfaches Beispiel:

# Use an official Node.js runtime as a parent image
FROM node:18

# Set the working directory in the container
WORKDIR /app

# Copy package.json and install dependencies
COPY package.json /app
RUN npm install

# Copy the rest of the application code
COPY . /app

# Expose the application’s port
EXPOSE 3000

# Define the command to run the application
CMD ["node", "app.js"]

Dokcer-Image bauen

Verwenden Sie das Dockerfile, um Ihr Docker-Image zu erstellen. Führen Sie an der Terminal-Kommandozeile, aus dem Verzeichnis, das Ihr Dockerfile enthält, aus:

Stellen Sie sicher, dass Docker Desktop installiert ist, bevor Sie den untenstehenden Befehl ausführen.

docker build -t my-app .
docker build -t my-app .
SHELL

Dieser Befehl erstellt ein Image mit dem Namen my-app. Um zu bestätigen, dass es erstellt wurde, führen Sie aus:

docker images
docker images
SHELL

Führen Sie den Docker-Container aus

Mit einem Image können Sie einen Docker-Container erstellen und diesen dann mit dem Befehl docker run ausführen. Der Docker-Daemon wird starten und den Prozess entweder im getrennten Modus (Hintergrund) oder im Vordergrund überwachen.

docker run -d -p 3000:3000 --name my-running-app my-app
docker run -d -p 3000:3000 --name my-running-app my-app
SHELL
  • -d: Führen Sie den Container im getrennten Modus aus.
  • -p 3000:3000: Mappen Sie den Host-Port 3000 auf Port 3000 im Container.
  • --name my-running-app: Weisen Sie dem Container einen benutzerdefinierten Namen zu.

Container verifizieren

Um die laufenden Docker-Container zu überprüfen, verwenden Sie:

docker ps
docker ps
SHELL

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 2 - Laufende Docker-Container

Der obige Befehl zeigt die Details der laufenden Container, einschließlich Container-ID, Name, Imagename usw.

Container stoppen und entfernen

# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
SHELL

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 3 - Container stoppen

Was ist IronSecureDoc?

IronSecureDoc Docker ist eine containerisierte Dokumentenverarbeitungslösung von Iron Software, die Dokumente in einer Docker-Umgebung ohne menschliches Eingreifen automatisch verarbeiten kann. Es bietet komplexe Dokumenten-Workflows und maximalen Datenschutz mit Verschlüsselung, digitaler Signatur, Entschlüsselung, Wasserzeichen und mehr für PDF- und Dokumentdateien. Es gewährleistet konsistente und skalierbare isolierte Bereitstellungen über Plattformen hinweg, was es für die Integration von DevOps und CI/CD-Pipelines geeignet macht.

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 4 - IronSecureDoc: Der PDF-Sicherheits- und Konformitätsserver

Dieser containerisierte Ansatz verbessert die Dokumentenverarbeitung in Anwendungen, die Automatisierung und hohe Sicherheit erfordern und mit Microservices und Cloud-nativen Umgebungen kompatibel sind. IronSecureDoc ist besonders nützlich für Entwickler, die Anwendungen erstellen, die eine zuverlässige automatische Dokumentenverarbeitung in einem kontrollierten und portablen Docker-Kontext erfordern.

Installieren und starten Sie IronSecureDoc

Führen Sie den folgenden Befehl von der Eingabeaufforderung oder einem Terminalfenster aus, um das IronSecureDoc-Docker-Image aus dem Repository herunterzuladen:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 5 - IronSecureDoc-Image herunterladen

Nachdem Sie das Docker-Image gezogen haben, führen Sie einen weiteren Befehl aus, um einen IronSecureDoc-Container zu starten.

Erstellen eines neuen Containers für IronSecureDoc

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Der obige docker run-Befehl erstellt eine Containerinstanz von IronSecureDoc.

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 6 - Neuer Container

Verwendung von IronSecureDoc-Containern

IronSecureDoc ermöglicht Benutzern, Docker zu installieren und auszuführen, um Dateien über seine REST-API zu schwärzen, zu zertifizieren oder zu verschlüsseln.

Docker Start Container From Image (Entwickler-Tutorial): Abbildung 7 - SecureDoc-Web-API

Um beispielsweise ein Dokument zu verschlüsseln, können Sie eine POST-Anforderung an die IronSecureDoc-API senden:

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

Dies leitet das Dokument an IronSecureDoc weiter, welches die Daten entsprechend verarbeitet und verschlüsselt.

Abschluss

Kurz gesagt, Docker vereinfacht die Anwendungsbereitstellung, da ein Entwickler einen Container von einem Image erstellen kann, was Einheitlichkeit in einer portablen und skalierbaren Umgebung gewährleistet. Dies führt zu einem effizienten Betrieb von Anwendungen über Plattformen hinweg und erleichtert die Ressourcennutzung, was DevOps und CI/CD-Pipelines verbessert.

In ähnlicher Weise nutzt IronSecureDoc Docker die containerisierte Architektur von Docker, um sichere, automatisierte Dokumentenverarbeitungslösungen anzubieten. Gemeinsam bieten Docker und IronSecureDoc leistungsstarke Werkzeuge zur Erstellung sicherer, skalierbarer Anwendungen in der modernen Softwareentwicklung. Für weitere Informationen zur Lizenzierung von IronSecureDoc klicken Sie auf diese Lizenzierungsseite, und für Details zu den vielen Produkten von Iron Software besuchen Sie die Bibliotheks-Suite-Seite.

Häufig gestellte Fragen

Was ist Docker und warum ist es wichtig für Entwickler?

Docker ist eine Open-Source-Plattform, die die Bereitstellung und Verwaltung von Anwendungen innerhalb von Containern automatisiert. Es paktiert Anwendungen mit ihren Abhängigkeiten, um einen konsistenten Betrieb über verschiedene Umgebungen hinweg zu gewährleisten, was die Entwicklung, das Testen und die Skalierung vereinfacht.

Wie erleichtern Docker-Images die Bereitstellung von Anwendungen?

Docker-Images dienen als schreibgeschützte Vorlagen zur Erstellung von Containern. Sie definieren die Systemdateien und Abhängigkeiten, die zum Ausführen einer Anwendung erforderlich sind, und ermöglichen einfaches Teilen und Bereitstellen. Images können in Registrierungen wie Docker Hub gespeichert und abgerufen werden.

Was sind die wichtigsten Schritte zur Erstellung und Ausführung eines Docker-Containers?

Um einen Docker-Container zu erstellen und auszuführen, beginnen Sie mit dem Schreiben einer Dockerfile, die das Basis-Image und die Abhängigkeiten angibt. Erstellen Sie dann das Docker-Image aus der Dockerfile und verwenden Sie den docker run-Befehl, um den Container zu erstellen und zu starten.

Wie verbessert IronSecureDoc die Dokumentenverarbeitung in Docker?

IronSecureDoc ist eine Docker-basierte Lösung, die die Dokumentenverarbeitung mit Funktionen wie Verschlüsselung und digitaler Signatur automatisiert. Es gewährleistet sichere, skalierbare Arbeitsabläufe innerhalb von Docker-Containern, was es ideal für die Integration in DevOps und CI/CD-Pipelines macht.

Welche Vorteile bieten Docker-Container für die Anwendungsentwicklung?

Docker-Container bieten Isolation, leichte Ausführung, Portabilität und Ressourceneffizienz. Sie gewährleisten konsistente Anwendungsabläufe über verschiedene Umgebungen hinweg, unterstützen schnelle Bereitstellung und vereinfachen das Management von Microservices.

Wie können Entwickler sicheres Dokumenten-Handling mit Docker gewährleisten?

Entwickler können IronSecureDoc verwenden, um sichere Dokumentenverarbeitung innerhalb eines Docker-Containers zu automatisieren. Es bietet Verschlüsselung, digitale Signierung und andere Sicherheitsfunktionen, um den Schutz und die Integrität von Dokumenten-Workflows zu verbessern.

Welche Rolle spielt Docker Hub bei der Containereinführung?

Docker Hub fungiert als öffentliches Register für vorgefertigte Docker-Images und ermöglicht Entwicklern den Zugriff auf und das Teilen von Images. Dies erleichtert die Anpassung und Bereitstellung von Anwendungen und beschleunigt den Entwicklungsprozess.

Wie verbessert Docker die Skalierbarkeit und Effizienz von Anwendungen?

Docker verbessert die Skalierbarkeit, indem es die einfache Replikation und Verwaltung von Containern ermöglicht. Dadurch können Anwendungen schnell und effizient skalieren, die Ressourcennutzung optimieren und moderne Softwareentwicklungspraktiken unterstützen.

Was ist der Zweck einer Dockerfile bei der Erstellung von Containern?

Eine Dockerfile wird verwendet, um das Basis-Image, Abhängigkeiten, Anwendungs-Code und Ausführungsbefehle für einen Docker-Container zu definieren. Sie dient als Vorlage für den Aufbau von Docker-Images, die dann zur Erstellung von Containern verwendet werden können.

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