{"id":10400,"date":"2026-09-13T12:30:00","date_gmt":"2026-09-13T10:30:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10400"},"modified":"2026-10-26T11:49:49","modified_gmt":"2026-10-26T10:49:49","slug":"die-traefik-labels-im-einzelnen-samt-der-dollarfalle","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/","title":{"rendered":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle"},"content":{"rendered":"<p>Docker-Labels beschreiben bei Traefik mehrere miteinander verkn\u00fcpfte Objekte. Ein HTTP-Router w\u00e4hlt Anfragen anhand einer Regel aus, ein Service bestimmt das Ziel, und Middleware verarbeitet Anfragen oder Antworten. Verweise verbinden diese Objekte; gleiche Namen allein erzeugen keine Bindung.<\/p>\n<p>F\u00fcr die Fehlersuche sind drei Ebenen zu trennen: die Compose-Datei vor der Ersetzung, die tats\u00e4chlich gespeicherten Container-Labels und die daraus erzeugte Traefik-Konfiguration. Fehler k\u00f6nnen bereits beim Einlesen entstehen; nicht jeder Tippfehler bleibt unbemerkt.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-10400-traefiklabels-20261024.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"TRAEFIK-LABELS: VERWEISE UND INTERPOLATION\"><figcaption>$2y und $05 sind keine einfachen Compose-Variablennamen.<\/figcaption><\/figure>\n<h2>Router, Service und Middleware ausdr\u00fccklich verbinden<\/h2>\n<p>Dieser Ausschnitt geh\u00f6rt unter einen Anwendungsservice in Compose. Voraussetzung sind ein eingerichteter Docker-Provider, der EntryPoint <code>websecure<\/code>, der Resolver <code>le<\/code> und ein tats\u00e4chlich unter <code>proxy<\/code> vorhandenes gemeinsames Docker-Netz. Der Docker-Provider liest Routing-Einstellungen aus Container-Labels. Ein EntryPoint legt fest, wo Traefik Verbindungen annimmt; der Zertifikatsresolver beschafft TLS-Zertifikate. Die Anwendung muss auf dem internen Port 8080 erreichbar sein. Die Benutzerdatei muss im <strong>Traefik-Container<\/strong> unter dem angegebenen Pfad lesbar eingebunden sein; der Ausschnitt allein ist keine vollst\u00e4ndige Installation.<\/p>\n<figure style=\"--cbb-digits:2\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">labels:\n<\/span><span class=\"cbb-line\">  - \"traefik.enable=true\"\n<\/span><span class=\"cbb-line\">  - \"traefik.docker.network=proxy\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.rule=Host(`blog.example.com`)\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.entrypoints=websecure\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.tls=true\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.tls.certresolver=le\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.service=blog-service\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.routers.blog.middlewares=blog-auth@docker\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.middlewares.blog-auth.basicauth.usersfile=\/etc\/traefik\/auth\/blog.htpasswd\"\n<\/span><span class=\"cbb-line\">  - \"traefik.http.services.blog-service.loadbalancer.server.port=8080\"<\/span><\/code><\/pre><\/figure>\n<p><code>blog<\/code>, <code>blog-service<\/code> und <code>blog-auth<\/code> sind bewusst unterschiedliche Namen. <code>router.service<\/code> und <code>router.middlewares<\/code> stellen die Verweise her. Ein Tippfehler im frei gew\u00e4hlten Objektnamen kann ein anderes Objekt deklarieren; ein Tippfehler in einem festgelegten Feld wie <code>loadbalancer<\/code> kann dagegen einen Dekodierungsfehler erzeugen.<\/p>\n<p>Ohne ausdr\u00fccklichen Service-Verweis kann der Docker-Provider einen einzigen definierten Service automatisch zuordnen oder einen Service erzeugen. Mehrere Services machen diese automatische Auswahl mehrdeutig. Ein abweichender Servicename kann deshalb im Ein-Service-Fall unauff\u00e4llig bleiben, obwohl ein sp\u00e4terer ausdr\u00fccklicher Verweis scheitert. Namen sollten innerhalb des Providers konfliktfrei sein, auch \u00fcber Compose-Projekte hinweg.<\/p>\n<p>Ohne expliziten Zielport nutzt die dokumentierte Docker-Porterkennung den einzelnen beziehungsweise niedrigsten exponierten Port. Das ist kein automatisch gefundener Hostport und keine Pr\u00fcfung, ob dort die gew\u00fcnschte Anwendung lauscht. Ein ausdr\u00fccklicher interner Port macht die Absicht sichtbar.<\/p>\n<h2>Provider-Namen und tats\u00e4chlicher Schutz<\/h2>\n<p>Ein Middleware-Name ohne Provider-Zusatz wird im Provider des Routers aufgel\u00f6st. <code>blog-auth@docker<\/code> nennt diesen Namensraum ausdr\u00fccklich; <code>blog-auth@file<\/code> verweist auf eine Middleware aus dem aktivierten File-Provider. Ein fehlendes referenziertes Objekt verhindert den Aufbau der betreffenden Route. Das ist aber keine allgemeine Sicherheitsgarantie f\u00fcr den Hostnamen: Ein anderer passender Router kann weiterhin Anfragen annehmen.<\/p>\n<p>Eine deklarierte Middleware sch\u00fctzt nicht automatisch jeden Zugang zum Service. Routerketten und gegebenenfalls EntryPoint-Standard-Middlewares bestimmen die wirksame Kette. Daher bedeutet eine leere Middleware-Liste des Routers nicht zwingend fehlenden Schutz; umgekehrt k\u00f6nnen ein weiterer Hostname, anderer EntryPoint oder direkt ver\u00f6ffentlichter Backend-Port die erwartete Absicherung umgehen. BasicAuth ben\u00f6tigt HTTPS, damit Zugangsdaten auf dem Transportweg gesch\u00fctzt sind.<\/p>\n<h2>Was Compose mit Dollarzeichen tats\u00e4chlich macht<\/h2>\n<p>Bei der Variablenersetzung tritt der eingestellte Wert an die Stelle des Variablennamens. Dieser Vorgang hei\u00dft Interpolation. Compose ersetzt g\u00fcltige Variablenausdr\u00fccke wie <code>$NAME<\/code> und <code>${NAME}<\/code>. Ein einfacher Variablenname beginnt mit Buchstabe oder Unterstrich. Die bcrypt-Pr\u00e4fixe <code>$2y<\/code> und <code>$05<\/code> werden deshalb nicht als solche Variablen entfernt. Ein folgender Hashteil wie <code>$e6zX...<\/code> kann jedoch als Variablenanfang erkannt werden; eine nicht gesetzte Variable ergibt gew\u00f6hnlich eine Warnung und einen leeren Ersatz. Die urspr\u00fcngliche Hashzeichenfolge ist danach nicht mehr zuverl\u00e4ssig erhalten.<\/p>\n<p>F\u00fcr einen direkt in einem interpolierten Compose-Label stehenden Hash empfiehlt Traefik deshalb, jedes <code>$<\/code> als <code>$$<\/code> zu schreiben. Die folgende Bash-Zeile fragt das Passwort interaktiv ab und verdoppelt die Dollarzeichen der erzeugten Benutzerzeile:<\/p>\n<figure style=\"--cbb-digits:1\" class=\"cbb cbb--wrap wp-block-code-beautifier-block-code\" data-lang=\"bash\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Shell<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-bash\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\"><span class=\"cbb-keyword\">set<\/span> <span class=\"cbb-attr\">-o<\/span> pipefail\n<\/span><span class=\"cbb-line\">htpasswd <span class=\"cbb-attr\">-nB<\/span> admin <span class=\"cbb-operator\">|<\/span> <span class=\"cbb-function\">sed<\/span> <span class=\"cbb-string\">'s\/\\$\/$$\/g'<\/span><\/span><\/code><\/pre><\/figure>\n<p>Die Ausgabe geh\u00f6rt als vollst\u00e4ndige Benutzerzeile hinter <code>basicauth.users=<\/code>, falls diese Variante statt <code>usersfile<\/code> verwendet wird. Auslassungspunkte in erkl\u00e4renden Hashfragmenten sind kein g\u00fcltiger Ersatz f\u00fcr den vollst\u00e4ndigen Hash. Ein Passwort als <code>htpasswd -b<\/code>-Argument kann in Prozesslisten oder Shell-Historie auftauchen; die interaktive Variante vermeidet dieses Argument.<\/p>\n<p>Die Verdopplung gilt f\u00fcr die Compose-Verarbeitung, nicht f\u00fcr Traefik selbst. Eine unver\u00e4ndert eingebundene Benutzerdatei und eine direkt gelesene dynamische Traefik-Datei enthalten einfache Dollarzeichen. Bei Befehlszeilen muss zus\u00e4tzlich die jeweilige Shell ber\u00fccksichtigt werden; in einer POSIX-Shell sch\u00fctzen einfache Anf\u00fchrungszeichen einen w\u00f6rtlichen Hash vor Variablenersetzung. Auch <code>.env<\/code>-Dateien besitzen eigene Zitierregeln. Ein Wechsel des Ablageorts erfordert deshalb eine erneute Pr\u00fcfung.<\/p>\n<h2>Diagnose ohne feste Statuscode-Zusagen<\/h2>\n<table><thead><tr><th>Befund<\/th><th>Geeignete Pr\u00fcfung<\/th><\/tr><\/thead><tbody>\n<tr><td>Service oder Middleware fehlt<\/td><td>Providername, Verweis und Routerfehler pr\u00fcfen. Ohne andere passende Route ist 404 typisch; andere Router oder vorgeschaltete Systeme k\u00f6nnen anders antworten.<\/td><\/tr>\n<tr><td>Hash ver\u00e4ndert oder ung\u00fcltig<\/td><td>Compose-Warnungen, wirksamen Wert und Authentifizierungsfehler pr\u00fcfen. 401 ist m\u00f6glich, aber kein eindeutiger Beweis f\u00fcr Interpolation.<\/td><\/tr>\n<tr><td>Backend nicht erreichbar<\/td><td>Netz, interne IP, Port, Listener und Zeit\u00fcberschreitungen pr\u00fcfen. 502\/504 sind typische Hinweise, keine vollst\u00e4ndige Ursachenbestimmung.<\/td><\/tr>\n<tr><td>Container nicht freigegeben<\/td><td>Bei <code>exposedByDefault=false<\/code> sind <code>traefik.enable=true<\/code> und weitere Providerbedingungen zu pr\u00fcfen.<\/td><\/tr>\n<tr><td>Gleicher Objektname mit abweichenden Definitionen<\/td><td>Providerweite Namenskonflikte und Logs untersuchen; automatische Projektnamen von Compose l\u00f6sen Label-Namenskonflikte nicht zuverl\u00e4ssig.<\/td><\/tr><\/tbody><\/table>\n<p><code>docker compose config<\/code> zeigt die aufgel\u00f6ste Compose-Konfiguration, startet aber keine Container. <code>docker inspect<\/code> zeigt gespeicherte Labels und Netze eines vorhandenen Containers. Ein Vergleich muss den vollst\u00e4ndigen Hash pr\u00fcfen, nicht nur dessen L\u00e4nge; beide Ausgaben k\u00f6nnen sensible Werte enthalten. Anschlie\u00dfend zeigen Traefik-Logs und die wirksamen Router-\/Serviceobjekte, was tats\u00e4chlich \u00fcbernommen wurde. Eine Dashboard-Ansicht ersetzt keinen Test der Anmeldung und aller Zugangswege.<\/p>\n<div class=\"lw-faq\"><h2>Fragen und Antworten<\/h2>\n<h3>Ist usersFile die gleiche Datei im Anwendungscontainer?<\/h3><p>Nein. Traefik liest die Datei aus der eigenen Laufzeitumgebung. Eine Einbindung nur in die Anwendung gen\u00fcgt nicht. Leserechte und schreibgesch\u00fctzte Einbindung sind zu pr\u00fcfen. Werden <code>users<\/code> und <code>usersFile<\/code> kombiniert, werden beide Listen zusammengef\u00fchrt; der Vorrang bei gleichen Namen ist anhand der eingesetzten Traefik-Version zu pr\u00fcfen.<\/p>\n<h3>Welchen Netzwerknamen erwartet das Label?<\/h3><p><code>traefik.docker.network<\/code> erwartet den tats\u00e4chlichen Docker-Netznamen. Compose kann einen Projektnamen voranstellen; ein ausdr\u00fccklich gesetztes <code>name<\/code> oder externes Netz kann davon abweichen. Das Label verbindet keine Container mit dem Netz, sondern w\u00e4hlt aus vorhandenen Netzen.<\/p>\n<h3>Wie l\u00e4sst sich das Dashboard sinnvoll nutzen?<\/h3><p>\u00dcber einen gesch\u00fctzten, kontrolliert erreichbaren Zugang mit passender Authentifizierung und TLS. Ein \u00f6ffentlich erreichbares <code>api.insecure<\/code> ist keine geeignete Abk\u00fcrzung. Fehlende Route, falsche Authentifizierung und Backendfehler werden jeweils anhand von Konfiguration, Logs und gezielten Anfragen gepr\u00fcft.<\/p><\/div><div class=\"lw-quellen\"><h2>Quellen<\/h2><ul><li><a href=\"https:\/\/docs.docker.com\/reference\/compose-file\/interpolation\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker: Variablenersetzung in Compose<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/reference\/routing-configuration\/other-providers\/docker\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: Docker-Labels f\u00fcr Routing<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/reference\/routing-configuration\/http\/middlewares\/basicauth\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: BasicAuth<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/reference\/install-configuration\/entrypoints\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: Standard-Middleware f\u00fcr EntryPoints<\/a><\/li><li><a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/programs\/htpasswd.html\" target=\"_blank\" rel=\"noopener noreferrer\">Apache HTTP Server: htpasswd<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/reference\/install-configuration\/providers\/docker\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: Docker-Provider<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/reference\/install-configuration\/api-dashboard\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: API und Dashboard<\/a><\/li><li><a href=\"https:\/\/raw.githubusercontent.com\/traefik\/traefik\/master\/pkg\/provider\/configuration.go\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: Quellcode der Provider-Konfiguration<\/a><\/li><li><a href=\"https:\/\/docs.docker.com\/compose\/how-tos\/environment-variables\/variable-interpolation\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker: Umgebungsvariablen einsetzen<\/a><\/li><li><a href=\"https:\/\/doc.traefik.io\/traefik\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik: Dokumentation<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Router, Services und Middleware in Traefik sind durch Verweise verbunden. Korrekte Docker-Labels, passende Dollar-Escapes in Compose und die Pr\u00fcfung der wirksamen Konfiguration helfen bei Routing- und Anmeldefehlern.<\/p>\n","protected":false},"author":1,"featured_media":19804,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[92217,92211],"class_list":["post-10400","post","type-post","status-publish","format-standard","hentry","category-it-networks-de","tag-docker-de","tag-self-hosting-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T10:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T10:49:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Die Traefik-Labels im Einzelnen, samt der Dollarfalle\",\"datePublished\":\"2026-09-13T10:30:00+00:00\",\"dateModified\":\"2026-10-26T10:49:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/\"},\"wordCount\":987,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png\",\"keywords\":[\"Docker\",\"Self-Hosting\"],\"articleSection\":[\"IT &amp; Networks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/\",\"name\":\"Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png\",\"datePublished\":\"2026-09-13T10:30:00+00:00\",\"dateModified\":\"2026-10-26T10:49:49+00:00\",\"description\":\"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png\",\"width\":1200,\"height\":630,\"caption\":\"Die Traefik-Labels im Einzelnen, samt der Dollarfalle\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Die Traefik-Labels im Einzelnen, samt der Dollarfalle\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik","description":"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.","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:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/","og_locale":"en_US","og_type":"article","og_title":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik","og_description":"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-13T10:30:00+00:00","article_modified_time":"2026-10-26T10:49:49+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle","datePublished":"2026-09-13T10:30:00+00:00","dateModified":"2026-10-26T10:49:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/"},"wordCount":987,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png","keywords":["Docker","Self-Hosting"],"articleSection":["IT &amp; Networks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/","name":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png","datePublished":"2026-09-13T10:30:00+00:00","dateModified":"2026-10-26T10:49:49+00:00","description":"Wie Router, Dienst und Middleware in Traefik \u00fcber den Namen zueinanderfinden und warum die Dollarzeichen im Passwort-Hash verdoppelt werden.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10400-die-traefik-labels-im-einzelnen-samt-tk.png","width":1200,"height":630,"caption":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/die-traefik-labels-im-einzelnen-samt-der-dollarfalle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Die Traefik-Labels im Einzelnen, samt der Dollarfalle"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10400"}],"version-history":[{"count":8,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10400\/revisions"}],"predecessor-version":[{"id":26683,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10400\/revisions\/26683"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/19804"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}