Because knowing "AI discovery matters" is not a strategy.Sitecore acquires Scrunch
Because knowing "AI discovery matters" is not a strategy.Sitecore acquires Scrunch
Direkt zum Hauptinhalt
Sitecore
Demo anfordern

Suche

Demo anfordern

Docker: Ein kurzer Überblick

Mit der Container-Unterstützung von Sitecore können Entwickler Probleme mit Konsistenz, Isolierung und Reproduzierbarkeit lösen. Hier finden Sie einen kurzen Überblick über die Arbeit mit Containern.

Von Rob Earlam

 colorful shipping containers and few trucks between them shot from above in the port of mexico

Auf dieser Seite

Einleitung
Häufige Probleme bei der Entwicklung, Bereitstellung und dem Hosting von Software
Container als Rettung!
Container im Vergleich zu virtuellen Computern
Bild und Ebenen
Register
Inhalte
Vernetzung
Weiterführende Literatur
Kapitel 1

Einleitung

Letztes Jahr kündigte Sitecore eine eingeschränkte Unterstützung für die Ausführung unserer Produkte in Containern an. Weitere Informationen zum aktuellen Support-Modell finden Sie in diesem knowledge base-Artikel. Mit jeder zukünftigen Version planen wir, unsere Unterstützung für den Betrieb unserer Produkte in Containern zu erhöhen. Für alle, die noch keine Erfahrung mit der Ausführung von Anwendungen auf diese Weise haben, bietet dieser Beitrag einen Überblick über einige der wichtigsten Konzepte und Links zum weiteren Lernen zu den einzelnen Konzepten.

Sehen Sie sich das Video zu diesem Artikel unten an, das Demos zu diesen Konzepten enthält. Oder schauen Sie es sich auf Entdecken Sie Sitecore auf YouTube.

Kapitel 2

Häufige Probleme bei der Entwicklung, Bereitstellung und dem Hosting von Software

  • Hatten Sie jemals das Problem, ein neues Projekt auf Ihrem Computer mit allen erforderlichen Abhängigkeiten einzurichten?
  • Wie wäre es, diese Abhängigkeiten dann in allen Nicht-Produktions und Produktionen zu verwalten?
  • Was geschieht, wenn Sie eine oder mehrere dieser Abhängigkeiten aktualisieren müssen?
  • Haben Sie jemals versehentlich für eine Version einer Abhängigkeit entwickelt, nur um festzustellen, dass eine andere Version in der Produktion live ist?
  • Wie wäre es mit einem Team mit Entwicklern, die verschiedene Betriebssysteme (OS) ausführen möchten?
  • Das Problem hierbei ist, dass Sie nur die Anwendung selbst bereitstellen und sich auf die Hostumgebung verlassen, um die Abhängigkeiten bereitzustellen. In Wirklichkeit sollte der Host für das Betriebssystem verantwortlich sein und nicht viel mehr.

Was alles dieser Probleme gemeinsam hat, sind Fragen der Konsistenz, Isolation und Reproduzierbarkeit. Dies sind die Probleme, für die Docker und Container im Allgemeinen entwickelt wurden.

Kapitel 3

Container als Rettung!

Wenn Sie einen Container bereitstellen, stellen Sie tatsächlich alles, was zum Ausführen dieser Anwendung erforderlich ist, in einem einzigen Artefakt bereit.

Inhalt des Containers

Wie Sie in der Abbildung sehen können, verpacken Sie nicht nur Ihre Anwendung, sondern auch ihre Abhängigkeiten und Bibliotheken, ihre Konfigurationsressourcen und alles andere, was ausgeführt werden muss. Alles schön verpackt in einem einzigen Asset, das Sie zwischen Ihren verschiedenen Umgebungen verschieben können.

Kapitel 4

Container im Vergleich zu virtuellen Computern

Eine häufig gestellte Frage ist, wie sich ein Container von einer virtuellen Maschine unterscheidet. Sie haben einige Überschneidungen in der Funktionalität, die sie bieten, aber die Art und Weise, wie sie dies erreichen, ist grundlegend unterschiedlich.

VM im Vergleich zu VS Containers

Wenn Sie sich das Diagramm der virtuellen Maschine auf der linken Seite ansehen, stellt jedes der grünen Kästchen ein gesamtes Betriebssystem dar. Dies bedeutet, dass vier vollständige Betriebssysteme auf dieser Host-Infrastruktur vorhanden sind, was eine hohe Belastung der Ressourcen und des erforderlichen Speicherplatzes des Systems darstellen kann.

Vergleichen Sie das mit dem containerbasierten Ansatz auf der rechten Seite. Hier werden der Kernel und die Ressourcen des Hostbetriebssystems direkt von den Containern über den Docker-Daemon gemeinsam genutzt. Das bedeutet, dass die Container weitaus schlanker sind als eine virtuelle Maschine, was bedeutet, dass Sie viel mehr davon auf der gleichen Menge an Hardware ausführen können.

Kapitel 5

Bild und Ebenen

Jetzt wurden die Container, die im vorherigen Beispiel zu sehen sind, aus einem Image erstellt. Ein Image ist eine schreibgeschützte Vorlage mit Anweisungen zum Erstellen eines Docker-Containers. Die Bilder selbst basieren auf dem Konzept der Ebenen, wobei jede Ebene auf der darunter liegenden Ebene aufbaut. Dieses Konzept bedeutet, dass es sehr einfach ist, vorhandene Bilder anzupassen, um Ihre benutzerdefinierte Funktionalität zu erweitern.

Docker Layers

Wenn Sie sich die obige Abbildung ansehen, können Sie sehen, dass das Sitecore® Experience Platform™ (XP)-Image auf dem 4.8-windowsservercore-ltsc2019-Image aufbaut. Wir nehmen das von Microsoft veröffentlichte Windows Server Core-Image und fügen eine benutzerdefinierte Ebene hinzu, um den Sitecore-Code einzuschließen. Dies könnte ein Image sein, um eine Content Management (CM)-Rolle oder eine Content Delivery (CD)-Rolle zu erstellen, aber das Konzept bleibt dasselbe.

Wir können dann auch dieses Sitecore XP-Image nehmen und darauf aufbauen, um weitere Funktionen bereitzustellen. In der mittleren Abbildung oben wird das XP-Image verwendet und dann Sitecore PowerShell Extensions (SPE) darüber gelegt. Das Diagramm auf der rechten Seite geht noch einen Schritt weiter, indem es das soeben erstellte SPE-Image verwendet und darüber eine Ebene für Sitecore Experience Accelerator (SXA) hinzufügt.

Das leistungsstarke Konzept des mehrschichtigen Ansatzes besteht darin, dass diese Schichten gemeinsam genutzt werden. Das Windows Server Core-Image, mit dem wir begonnen haben, muss also nur einmal auf dem Datenträger vorhanden sein, und alle der oben genannten Images bauen darauf auf.

Einen guten Überblick über Docker, seine Anwendungsfälle und die Anwendungsarchitektur finden Sie unter Docker Docs.

Kapitel 6

Register

Sie fragen sich vielleicht, woher alle dieser Bilder ursprünglich stammen. Nun, sie werden in Registern gespeichert – Sie können entweder öffentliche oder private Register haben. Die beliebteste öffentliche Registrierung ist Docker Hub. Dort finden Sie Bilder für fast jede moderne Software, die Sie sich vorstellen können! Um ein Image auf Ihren lokalen Rechner zu bringen, verwenden Sie einen Docker-Pull-Befehl, z. B.

Docker-Pull-mcr.microsoft.com/dotnet/samples:dotnetapp

Mit diesem Befehl wird das mcr.microsoft.com/dotnet/core/samples Image heruntergeladen, das die dotnetapp-Tag enthält. Sobald es heruntergezogen wurde, können Sie es lokal verwenden, um darauf basierende Container zu erstellen. Dazu verwenden Sie einen einfachen Docker-Ausführungsbefehl, z. B.

Docker Run mcr.microsoft.com/dotnet/samples:aspnetapp

Weitere Informationen zu Registries finden Sie unter Docker Docs.

Kapitel 7

Inhalte

Volumes ist ein weiteres Schlüsselkonzept bei der Arbeit mit Containern. Es gibt viele Fälle, in denen es nützlich ist, Dateien zwischen dem Host und dem Container freizugeben. Ein paar gute Beispiele dafür sind:

  • Wenn Sie mit statischen Ressourcen arbeiten, möchten Sie das Image nicht neu erstellen und Ihren Container neu erstellen, um Änderungen zu sehen.
  • Wenn Sie mit geheimen Dateien arbeiten, die möglicherweise nicht in ein Image aufgenommen werden sollen, z. B. Lizenz
  • .

Volumes werden erstellt, um dieses Problem zu lösen – sie ermöglichen es Ihnen, einen Ordner auf dem Hostcomputer festzulegen, der freigegeben und im Container verfügbar sein soll. Dies ist eine leistungsstarke Funktion, da alle Änderungen, die Sie am Inhalt des Volumes vornehmen, sofort im Container widergespiegelt werden.

Weitere Informationen zu Volumes finden Sie unter Docker Docs.

Kapitel 8

Vernetzung

Das letzte Schlüsselkonzept, das hier behandelt werden soll, ist die Vernetzung. Einer der Gründe, warum Docker-Container und -Dienste so leistungsfähig sind, ist, dass Sie sie in einem internen Netzwerk verbinden können, das vom Docker-Daemon erstellt wurde. Ein gutes Beispiel hierfür wäre ein System, das aus einer .NET Core-Anwendung mit einem SQL Server-Back-End besteht. In diesem Szenario können Sie zwei Container einrichten, von denen einer die .NET Core-Anwendung und der andere SQL Server enthält, und Docker ein Netzwerk zwischen den beiden erstellen lassen, damit sie miteinander kommunizieren können.

Weitere Informationen zum Thema Networking finden Sie unter Docker Docs.

Kapitel 9

Weiterführende Literatur

Die Docker-Website bietet eine Reihe großartiger Tutorials, um Sie mit Docker für Ihre Entwicklungen von Anwendungen vertraut zu machen, die Sie hier sehen können:

  • https://docs.docker.com/get-started/
  • https://docs.docker.com/get-started/part2/
  • https://docs.docker.com/get-started/part3/

Vielen Dank fürs Lesen und folgen Sie #LearnSitecore für zukünftige Inhalte!

Rob Earlam, Technischer Evangelist, Sitecore
https://robearlam.com/

Das könnte Ihnen auch gefallen

Plattform

  • Übersicht über die Plattform
  • Content-Management -System
  • Digitales-Asset-Management
  • Content-Operations
  • Conversion-Optimierung
  • Zielgruppen und Intelligenz
  • Handel
  • Experience Manager (XM)
  • Experience Platform (XP)
  • Connect
  • Send

Lösungen

  • Produktstrategie
  • DX modernisieren
  • Globale Inhalte verwalten
  • Omnichannel-Commerce
  • Optimieren mit Daten
  • Alle Kund:in Stories
  • Alle Experience Awards
  • Alle Analystenberichte
  • Sitecore Symposium

Ressourcen

  • AI Thought Leadership
  • Ressourcen-Hub
  • Einblicke
  • Veranstaltungen & Webinare
  • Trust Center
  • Unterstützen

Dienstleistungen

  • Verwaltete Cloud
  • Sitecore-Dienstleistungen
  • Sitecore360
  • Sitecore-Lernen
  • Innovationslabor für künstliche Intelligenz

Firma

  • Über uns
  • Kontaktieren Sie uns
  • Newsroom
Sitecore Corporate Logo
envelope-regular.svglinkedin-in.svgx-twitter.svgfacebook-f.svginstagram.svgyoutube.svg

© Copyright 2026, Sitecore A/S oder ein mit Sitecore verbundenes Unternehmen. Alle Rechte vorbehalten.

  • Cookie-Einstellungen
  • Legal Hub
  • Privatsphäre
  • Ihre Datenschutzoptionen
  • webmaster@sitecore.net