{"id":690,"date":"2024-07-22T20:37:57","date_gmt":"2024-07-22T20:37:57","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=690"},"modified":"2024-07-22T20:55:11","modified_gmt":"2024-07-22T20:55:11","slug":"yaml","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/de\/wiki\/yaml\/","title":{"rendered":"YAML"},"content":{"rendered":"<h1>Grundlagen von YAML: Eine vertiefte Einf\u00fchrung in ein Daten-Serialisierungsformat<\/h1>\n<p>YAML (YAML Ain\u2019t Markup Language) is a human-readable data serialization format that is commonly used for configuration files, data exchange between languages with different data structures, and more. It emphasizes simplicity and clarity, making it an ideal choice for developers and system administrators alike. While YAML can be used for various purposes, its synergy with tools like Docker, <span class=\"glossaryai-tooltip glossary-term-656\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/kubernetes\/\" target=\"_blank\">Kubernetes<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Kubernetes ist eine Open-Source-Plattform zur Container-Orchestrierung, die die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen automatisiert und so die Ressourceneffizienz und Resilienz verbessert.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/kubernetes\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, und Ansible macht es besonders bedeutsam im Bereich von DevOps und Cloud-nativen Anwendungen.<\/p>\n<h2>The Origin and Evolution of YAML<\/h2>\n<p>YAML wurde 2001 von Clark Evans entwickelt, mit dem Ziel, eine lesbarere Alternative zu XML und JSON bereitzustellen. Die Entwurfsprinzipien von YAML betonen Lesbarkeit, Einfachheit und Datenintegrit\u00e4t. Im Laufe der Zeit hat sich YAML durch mehrere Versionen weiterentwickelt, wobei YAML 1.2 die neueste Version ist, die die Syntax verfeinerte und einige der Einschr\u00e4nkungen fr\u00fcherer Iterationen behob.<\/p>\n<h3>Key Features of YAML<\/h3>\n<ol>\n<li><strong>menschenlesbar<\/strong>: Die Syntax ist so konzipiert, dass sie f\u00fcr Menschen leicht lesbar und schreibbar ist, was das Debugging und die Konfiguration vereinfacht.<\/li>\n<li><strong>Data Structures<\/strong>: YAML natively supports complex data structures such as scalars, sequences, and mappings, enabling deep data representation.<\/li>\n<li><strong>Kommentare<\/strong>YAML erlaubt Kommentare, was es einfacher macht, Konfigurationen inline zu dokumentieren.<\/li>\n<li><strong>Formatflexibilit\u00e4t<\/strong>: Es unterst\u00fctzt mehrere Stile zur Darstellung von Daten, einschlie\u00dflich Block-Stil und Flow-Stil.<\/li>\n<li><strong>Cross-Language Compatibility<\/strong>: Many programming languages provide libraries to parse and generate YAML, facilitating its use across different environments.<\/li>\n<\/ol>\n<h2>Basic Syntax and Data Structures<\/h2>\n<p>To understand YAML, it\u2019s crucial to familiarize yourself with its basic syntax and data structures. Here are some of the core components:<\/p>\n<h3>Scalars<\/h3>\n<p>Skalare repr\u00e4sentieren einzelne Werte in YAML. Diese k\u00f6nnen Zeichenketten, Zahlen, boolesche Werte oder Nullwerte sein.<\/p>\n<pre><code class=\"language-yaml\">string: \"Hello, World!\"\nnumber: 42\nboolean: true\nnull_value: null<\/code><\/pre>\n<h3>Sequenzen<\/h3>\n<p>Sequenzen (oder Arrays) werden als Liste dargestellt. Jedes Element in einer Sequenz wird durch einen Bindestrich eingeleitet.<\/p>\n<pre><code class=\"language-yaml\">fruits:\n  - apple\n  - banana\n  - cherry<\/code><\/pre>\n<h3>Mappings<\/h3>\n<p>Zuordnungen (oder W\u00f6rterb\u00fccher) stellen Schl\u00fcssel-Wert-Paare dar. Sie werden mithilfe eines Doppelpunkts gefolgt von einem Leerzeichen definiert.<\/p>\n<pre><code class=\"language-yaml\">person:\n  name: John Doe\n  age: 30\n  city: New York<\/code><\/pre>\n<h3>Verschachtelte Strukturen<\/h3>\n<p>YAML unterst\u00fctzt die Verschachtelung von Sequenzen und Zuordnungen, wodurch komplexe Datenstrukturen erstellt werden k\u00f6nnen.<\/p>\n<pre><code class=\"language-yaml\">employees:\n  - name: Alice\n    position: Developer\n    skills:\n      - Python\n      - Docker\n  - name: Bob\n    position: Designer\n    skills:\n      - Figma\n      - Photoshop<\/code><\/pre>\n<h3>Multi-document YAML<\/h3>\n<p>YAML also supports multiple documents within a single file, separated by <code>---<\/code>.<\/p>\n<pre><code class=\"language-yaml\">- erstes_Dokument: wahr\n- zweites_Dokument: wahr\n---\n- drittes_Dokument: wahr<\/code><\/pre>\n<h2>Erweiterte Funktionen von YAML<\/h2>\n<p>\u00dcber die grundlegende Syntax hinaus bietet YAML mehrere erweiterte Funktionen und Konstrukte, die seine Verwendbarkeit in komplexeren Szenarien verbessern k\u00f6nnen.<\/p>\n<h3>Anker und Aliase<\/h3>\n<p>Anchors (<code>&amp;<\/code>) und Aliase (<code>*<\/code>) allow you to reuse data throughout the document, which can be particularly useful for large configurations.<\/p>\n<pre><code class=\"language-yaml\">default: &amp;default\n  adapter: postgresql\n  host: localhost\n\ndevelopment:\n  &lt;&lt;: *default\n  database: dev_db\n\nproduction:\n  &lt;&lt;: *default\n  database: prod_db<\/code><\/pre>\n<h3>Tags<\/h3>\n<p>YAML supports custom data types using tags. Tags can indicate that a scalar should be interpreted in a specific way.<\/p>\n<pre><code class=\"language-yaml\">number: !!int &quot;123&quot;      # Explicitly declare as an integer\ndate: !!timestamp &quot;2023-10-01&quot;  # Explicitly declare as a timestamp<\/code><\/pre>\n<h3>Merge Keys<\/h3>\n<p>The merge key (<code>&lt;&lt;<\/code>) allows for merging multiple mappings into one, facilitating the reuse of configurations.<\/p>\n<pre><code class=\"language-yaml\">defaults: &amp;defaults\n  adapter: postgresql\n  encoding: unicode\n\ndevelopment:\n  &lt;&lt;: *defaults\n  database: dev_db\n\ntest:\n  &lt;&lt;: *defaults\n  database: test_db<\/code><\/pre>\n<h2>YAML vs. Other Data Serialization Formats<\/h2>\n<p>YAML wird oft mit anderen Daten-Serialisierungsformaten wie JSON und XML verglichen. Das Verst\u00e4ndnis der Unterschiede kann Ihnen helfen, das geeignete Format f\u00fcr Ihre Bed\u00fcrfnisse auszuw\u00e4hlen.<\/p>\n<h3>YAML vs. JSON<\/h3>\n<ul>\n<li><strong>Readability<\/strong>: YAML is more human-readable than JSON due to its use of indentation and lack of quotes for strings.<\/li>\n<li><strong>Kommentare<\/strong>YAML unterst\u00fctzt Kommentare, w\u00e4hrend JSON dies nicht tut.<\/li>\n<li><strong>Datentypen<\/strong>: YAML supports more complex data types and structures out of the box, such as timestamps and custom tags.<\/li>\n<\/ul>\n<h3>YAML vs. XML\n\nYAML und XML sind zwei verschiedene Formate zur Speicherung und \u00dcbertragung von Daten. Beide haben ihre eigenen Vor- und Nachteile, die je nach Anwendungsfall unterschiedlich gewichtet werden k\u00f6nnen.\n\nYAML (YAML Ain't Markup Language) ist ein menschenlesbares Datenformat, das auf der Idee basiert, Datenstrukturen in einer einfachen und intuitiven Weise darzustellen. YAML verwendet eine Kombination aus Schl\u00fcssel-Wert-Paaren, Listen und verschachtelten Strukturen, um Daten zu organisieren. Es ist besonders gut geeignet f\u00fcr Konfigurationsdateien und andere Anwendungen, bei denen die Lesbarkeit und Bearbeitbarkeit durch Menschen wichtig ist.\n\nXML (eXtensible Markup Language) ist ein Markup-Format, das auf Tags basiert, um Daten zu strukturieren. XML ist sehr flexibel und kann f\u00fcr eine Vielzahl von Anwendungen verwendet werden, einschlie\u00dflich Webdiensten, Datenbanken und Konfigurationsdateien. XML ist auch sehr gut f\u00fcr die Verarbeitung durch Maschinen geeignet, da es eine standardisierte Syntax hat und von vielen Tools und Bibliotheken unterst\u00fctzt wird.\n\nIm Vergleich zu YAML ist XML oft komplexer und schwerer zu lesen und zu bearbeiten. Es erfordert auch mehr Aufwand, um Daten in XML zu parsen und zu verarbeiten. Allerdings bietet XML auch einige Vorteile gegen\u00fcber YAML, wie z.B. die M\u00f6glichkeit, Metadaten und Schemata zu definieren, die die Validierung und Verarbeitung von Daten erleichtern.\n\nInsgesamt h\u00e4ngt die Wahl zwischen YAML und XML von den spezifischen Anforderungen der Anwendung ab. Wenn die Lesbarkeit und Bearbeitbarkeit durch Menschen wichtig ist, ist YAML oft die bessere Wahl. Wenn jedoch die Verarbeitung durch Maschinen und die Unterst\u00fctzung von Metadaten und Schemata wichtig sind, ist XML oft die bessere Wahl.<\/h3>\n<ul>\n<li><strong>Verbosity<\/strong>XML ist im Allgemeinen wortreicher als YAML, was es f\u00fcr Konfigurationsdateien weniger lesbar macht.<\/li>\n<li><strong>Datendarstellung<\/strong>: XML's hierarchical structure can represent complex data but at the cost of readability compared to YAML.<\/li>\n<li><strong>Schema<\/strong>XML unterst\u00fctzt Schema-Definitionen und erlaubt eine strikte Validierung, w\u00e4hrend YAML lockerer ist.<\/li>\n<\/ul>\n<h2>Best Practices f\u00fcr die Verwendung von YAML\n\nYAML ist ein menschenlesbares Datenformat, das h\u00e4ufig f\u00fcr Konfigurationsdateien verwendet wird. Es ist wichtig, bew\u00e4hrte Verfahren zu befolgen, um sicherzustellen, dass Ihre YAML-Dateien gut strukturiert, lesbar und wartbar sind. Hier sind einige wichtige Best Practices:\n\n1. Verwenden Sie Leerzeichen, keine Tabs\nYAML verwendet Leerzeichen zur Einr\u00fcckung, nicht Tabs. Stellen Sie sicher, dass Ihr Editor so eingestellt ist, dass er Leerzeichen anstelle von Tabs verwendet.\n\n2. Halten Sie eine konsistente Einr\u00fcckung ein\nVerwenden Sie f\u00fcr die Einr\u00fcckung konsistent 2 oder 4 Leerzeichen. Dies verbessert die Lesbarkeit und vermeidet Fehler.\n\n3. Verwenden Sie Anf\u00fchrungszeichen f\u00fcr Zeichenketten\nWenn eine Zeichenkette Sonderzeichen oder Leerzeichen enth\u00e4lt, setzen Sie sie in Anf\u00fchrungszeichen. Dies vermeidet Parsing-Probleme.\n\n4. Verwenden Sie mehrzeilige Zeichenketten f\u00fcr lange Texte\nF\u00fcr lange Texte oder mehrzeilige Zeichenketten verwenden Sie die mehrzeilige Zeichenketten-Syntax mit dem Pipe-Zeichen (|) oder dem Winkelklammer-Zeichen (&gt;).\n\n5. Verwenden Sie Anker und Aliase f\u00fcr wiederholte Daten\nYAML unterst\u00fctzt Anker (&amp;) und Aliase (*), um wiederholte Daten zu definieren und zu referenzieren. Dies reduziert Redundanz und verbessert die Wartbarkeit.\n\n6. Vermeiden Sie \u00fcberm\u00e4\u00dfige Verschachtelung\n\u00dcberm\u00e4\u00dfige Verschachtelung kann die Lesbarkeit erschweren. Versuchen Sie, Ihre Datenstruktur flach zu halten und nur bei Bedarf zu verschachteln.\n\n7. Verwenden Sie aussagekr\u00e4ftige Schl\u00fcssel\nVerwenden Sie aussagekr\u00e4ftige und beschreibende Schl\u00fcssel f\u00fcr Ihre Daten. Dies verbessert die Lesbarkeit und macht Ihre Konfiguration selbst dokumentierend.\n\n8. Kommentieren Sie Ihre YAML-Dateien\nVerwenden Sie Kommentare (#), um Ihre YAML-Dateien zu dokumentieren. Erkl\u00e4ren Sie den Zweck von Abschnitten oder komplexen Konfigurationen.\n\n9. Validieren Sie Ihre YAML-Dateien\nVerwenden Sie YAML-Validierungstools, um sicherzustellen, dass Ihre Dateien syntaktisch korrekt sind, bevor Sie sie in der Produktion verwenden.\n\n10. Halten Sie sich an die YAML-Spezifikation\nStellen Sie sicher, dass Sie die YAML-Spezifikation befolgen und vermeiden Sie YAML-Erweiterungen oder nicht standardm\u00e4\u00dfige Funktionen, die m\u00f6glicherweise nicht von allen YAML-Parsern unterst\u00fctzt werden.\n\nIndem Sie diese Best Practices befolgen, k\u00f6nnen Sie gut strukturierte, lesbare und wartbare YAML-Dateien erstellen, die einfach zu verstehen und zu verwenden sind.<\/h2>\n<p>When using YAML, adhering to best practices can help maintain clarity and prevent errors.<\/p>\n<h3>Consistent Indentation<\/h3>\n<p>YAML verwendet Einr\u00fcckungen, um die Struktur zu kennzeichnen, daher ist Konsistenz entscheidend. Verwenden Sie Leerzeichen (keine Tabulatoren) f\u00fcr die Einr\u00fcckung und stellen Sie sicher, dass Ihre Einr\u00fcckungsebene im gesamten Dokument konsistent ist.<\/p>\n<h3>Use Descriptive Keys<\/h3>\n<p>When defining keys, choose descriptive names that clearly indicate the data they represent. This enhances readability and maintainability.<\/p>\n<h3>Dokumentkonfiguration<\/h3>\n<p>F\u00fcgen Sie Kommentare hinzu, um den Zweck verschiedener Abschnitte und Parameter zu erkl\u00e4ren. Dies ist besonders n\u00fctzlich in komplexen Konfigurationen.<\/p>\n<pre><code class=\"language-yaml\"># Datenbankkonfiguration\ndatabase:\n  host: localhost\n  <span class=\"glossaryai-tooltip glossary-term-677\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\" target=\"_blank\">port<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein PORT ist ein Kommunikationsendpunkt in einem Computernetzwerk, der durch eine numerische Kennung definiert ist. Er erm\u00f6glicht die Weiterleitung von Daten an bestimmte Anwendungen und verbessert so die Funktionalit\u00e4t und Sicherheit des Systems.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/port\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: 5432<\/code><\/pre>\n<h3>YAML-Syntax \u00fcberpr\u00fcfen<\/h3>\n<p>Use linting tools to validate your YAML syntax before deployment. This can help catch errors early in the development process.<\/p>\n<h3>Gro\u00dfe Dateien organisieren<\/h3>\n<p>For large YAML files, consider breaking them into smaller, modular files. This enhances maintainability and makes collaboration easier.<\/p>\n<h2>Common Pitfalls and How to Avoid Them<\/h2>\n<p>While YAML is powerful, it also has some common pitfalls that can lead to issues if not addressed.<\/p>\n<h3>Improper Indentation<\/h3>\n<p>Eine falsche Einr\u00fcckung kann zu einer Fehlinterpretation der Datenstruktur f\u00fchren. \u00dcberpr\u00fcfen Sie daher immer sorgf\u00e4ltig die Einr\u00fcckungsebenen.<\/p>\n<h3>Using Tabs Instead of Spaces<\/h3>\n<p>YAML does not support tabs. Always use spaces for indentation to avoid syntax errors.<\/p>\n<h3>Quoting Issues<\/h3>\n<p>Zeichenfolgen, die Sonderzeichen oder f\u00fchrende\/ nachfolgende Leerzeichen enthalten, sollten in Anf\u00fchrungszeichen gesetzt werden. Andernfalls kann es zu unerwartetem Verhalten kommen.<\/p>\n<pre><code class=\"language-yaml\"># Korrekt zitierte Zeichenkette\nBegr\u00fc\u00dfung: &quot;Hallo Welt!&quot;<\/code><\/pre>\n<h3>Nicht unterst\u00fctzte Zeichen<\/h3>\n<p>Be mindful of characters that may have special meanings in YAML, such as <code>:<\/code>, <code>-<\/code>, and <code>#<\/code>. Zeichenketten mit diesen Zeichen korrekt quotieren.<\/p>\n<h2>YAML im Docker-\u00d6kosystem<\/h2>\n<p>YAML wird im Docker-\u00d6kosystem weit verbreitet eingesetzt, insbesondere in <span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose ist ein Werkzeug zur Definition und Ausf\u00fchrung von Multi-Container-Docker-Anwendungen mithilfe einer YAML-Datei. Es vereinfacht die Bereitstellung, Konfiguration und Orchestrierung von Diensten und verbessert die Entwicklungseffizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> files. <span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose ist ein Werkzeug zur Definition und Ausf\u00fchrung von Multi-Container-Docker-Anwendungen mithilfe einer YAML-Datei. Es vereinfacht die Bereitstellung, Konfiguration und Orchestrierung von Diensten und verbessert die Entwicklungseffizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> allows developers to define and <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\" target=\"_blank\">laufen<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" bezeichnet einen Befehl in verschiedenen Programmiersprachen und Betriebssystemen, um ein angegebenes Programm oder Skript auszuf\u00fchren. Er initiiert Prozesse und stellt eine kontrollierte Ausf\u00fchrungsumgebung f\u00fcr die Aufgabenbereitstellung bereit.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> multi-container Docker applications using a single YAML file.<\/p>\n<h3>Docker Compose YAML-Dateistruktur<\/h3>\n<p>A typical <code>docker-compose.yml<\/code> file includes services, networks, and volumes. Here\u2019s a basic example:<\/p>\n<pre><code class=\"language-yaml\">Version: &#039;3.8&#039; # Geben Sie die Version von an <span class=\"glossaryai-tooltip glossary-term-689\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\" target=\"_blank\">Docker Compose-Datei<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Docker Compose-Datei ist eine YAML-Konfigurationsdatei, die Dienste, Netzwerke und Volumes f\u00fcr Docker-Anwendungen mit mehreren Containern definiert. Sie vereinfacht die Bereitstellung und Verwaltung und erh\u00f6ht die Effizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> format\n\nservices:\n  web:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: nginx:latest\n    ports:\n      - &amp;quot;8080:80&amp;quot;\n\n  db:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: postgres:latest\n    environment:\n      POSTGRES_DB: mydb\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: password<\/code><\/pre>\n<h3>Defining Services<\/h3>\n<p>Im obigen Beispiel definieren wir zwei Dienste: <code>Netz<\/code> and <code>db<\/code>. Jeder <span class=\"glossaryai-tooltip glossary-term-681\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\" target=\"_blank\">Service<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Service bezeichnet die Handlung, Unterst\u00fctzung oder Hilfe zu leisten, um spezifische Bed\u00fcrfnisse oder Anforderungen zu erf\u00fcllen. In verschiedenen Bereichen umfasst er Kundenservice, technischen Support und professionelle Dienstleistungen, wobei Effizienz und Nutzerzufriedenheit im Vordergrund stehen.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/service\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can specify an <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, environment variables, ports, and other configurations.<\/p>\n<h3>Netzwerke und Volumes konfigurieren<\/h3>\n<p>You can also define custom networks and volumes in your <span class=\"glossaryai-tooltip glossary-term-689\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\" target=\"_blank\">Docker Compose-Datei<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Eine Docker Compose-Datei ist eine YAML-Konfigurationsdatei, die Dienste, Netzwerke und Volumes f\u00fcr Docker-Anwendungen mit mehreren Containern definiert. Sie vereinfacht die Bereitstellung und Verwaltung und erh\u00f6ht die Effizienz.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/docker-compose-file\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, enhancing the flexibility and modularity of your applications.<\/p>\n<pre><code class=\"language-yaml\">version: &amp;#039;3.8&amp;#039;\n\nservices:\n  app:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\" target=\"_blank\">Bild<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Ein Bild ist eine visuelle Darstellung eines Objekts oder einer Szene, die typischerweise aus Pixeln in digitalen Formaten besteht. Es kann Informationen vermitteln, Emotionen hervorrufen und die Kommunikation \u00fcber verschiedene Medien hinweg erleichtern.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: myapp\n    networks:\n      - app_network\n\nnetworks:\n  app_network:\n    driver: bridge<\/code><\/pre>\n<h2>Fazit<\/h2>\n<p>YAML ist ein leistungsstarkes und flexibles Daten-Serialisierungsformat, das sich besonders gut f\u00fcr Konfigurationsdateien und den Datenaustausch in modernen Anwendungen eignet. Seine f\u00fcr Menschen lesbare Syntax und die Unterst\u00fctzung komplexer Datenstrukturen machen es sowohl bei Entwicklern als auch bei Systemadministratoren sehr beliebt. <\/p>\n<p>Understanding the intricacies of YAML, from basic syntax to advanced features, can significantly improve your ability to work with modern DevOps tools like Docker and <span class=\"glossaryai-tooltip glossary-term-656\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/kubernetes\/\" target=\"_blank\">Kubernetes<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Kubernetes ist eine Open-Source-Plattform zur Container-Orchestrierung, die die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen automatisiert und so die Ressourceneffizienz und Resilienz verbessert.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/kubernetes\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. By following best practices and being aware of common pitfalls, you can leverage YAML to create clear, maintainable, and effective configurations for your applications. <\/p>\n<p>Da sich die Landschaft der Softwareentwicklung weiterentwickelt, wird YAML zweifellos ein wichtiger Bestandteil im Werkzeugkasten von Entwicklern und Ingenieuren bleiben und die nahtlose Integration und <span class=\"glossaryai-tooltip glossary-term-657\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/de\/wiki\/orchestration\/\" target=\"_blank\">Orchestrierung<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Orchestrierung bezieht sich auf die automatisierte Verwaltung und Koordination komplexer Systeme und Dienstleistungen. Sie optimiert Prozesse durch die Integration verschiedener Komponenten und gew\u00e4hrleistet so einen effizienten Betrieb und eine optimale Ressourcennutzung.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/de\/wiki\/orchestration\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> komplexer Systeme.<\/p>","protected":false},"excerpt":{"rendered":"<p>YAML (YAML Ain\u2019t Markup Language) ist ein f\u00fcr Menschen lesbares Daten-Serialisierungsformat, das h\u00e4ufig f\u00fcr Konfigurationsdateien verwendet wird. Es betont Einfachheit und Klarheit und eignet sich daher sowohl f\u00fcr Entwickler als auch f\u00fcr Nicht-Entwickler.<\/p>","protected":false},"author":1,"featured_media":1494,"parent":0,"template":"","glossary-cat":[],"class_list":["post-690","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>YAML - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"YAML - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"YAML (YAML Ain&#039;t Markup Language) is a human-readable data serialization format commonly used for configuration files. It emphasizes simplicity and clarity, making it suitable for both developers and non-developers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/de\/wiki\/yaml\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-22T20:55:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/yaml\/\",\"name\":\"YAML - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"datePublished\":\"2024-07-22T20:37:57+00:00\",\"dateModified\":\"2024-07-22T20:55:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/yaml\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"width\":800,\"height\":600,\"caption\":\"yaml-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"YAML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"YAML - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/de\/wiki\/yaml\/","og_locale":"de_DE","og_type":"article","og_title":"YAML - Dockerpros","og_description":"YAML (YAML Ain't Markup Language) is a human-readable data serialization format commonly used for configuration files. It emphasizes simplicity and clarity, making it suitable for both developers and non-developers.","og_url":"https:\/\/dockerpros.com\/de\/wiki\/yaml\/","og_site_name":"Dockerpros","article_modified_time":"2024-07-22T20:55:11+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/","url":"https:\/\/dockerpros.com\/wiki\/yaml\/","name":"YAML - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","datePublished":"2024-07-22T20:37:57+00:00","dateModified":"2024-07-22T20:55:11+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/yaml\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","width":800,"height":600,"caption":"yaml-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"YAML"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Docker-Profis","description":"DockerPros \u2013 Ihr umfassender Docker-Ressourcen-Hub","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Docker-Profis","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/glossary\/690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/glossary\/690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media\/1494"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/de\/wp-json\/wp\/v2\/glossary-cat?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}