{"id":4927,"date":"2026-08-10T22:00:29","date_gmt":"2026-08-10T22:00:29","guid":{"rendered":"https:\/\/netguide.io\/linux\/docker-logs-anzeigen-verwalten\/"},"modified":"2026-08-10T23:42:33","modified_gmt":"2026-08-10T23:42:33","slug":"docker-logs-anzeigen-verwalten","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/docker-logs-anzeigen-verwalten\/","title":{"rendered":"Docker Logs anzeigen und verwalten \u2013 Anleitung"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTE3NzIwMDkxMTciIGNsYXNzPSJuZXRndWlkZWEtYmVmb3JlLWNvbnRlbnQgbmV0Z3VpZGVhLWVudGl0eS1wbGFjZW1lbnQiPjxkaXYgY2xhc3M9Im5ldGd1aWRlYS1hZGxhYmVsIj5BZHZlcnRpc2VtZW50czwvZGl2PjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcz9jbGllbnQ9Y2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIiBzdHlsZT0iZGlzcGxheTpibG9jazsiIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgCmRhdGEtYWQtc2xvdD0iMzQ5NDExNTM0MiIgCmRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4KPHNjcmlwdD4gCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7IAo8L3NjcmlwdD4KPC9kaXY+<\/script>\n<p class=\"wp-block-paragraph\">Ein Container tut nicht, was er soll? Der erste Blick geht immer in die Logs. In dieser Anleitung zeigen wir dir, wie du <strong>Docker Logs anzeigst und verwaltest<\/strong> \u2013 vom Live-Mitlesen \u00fcber das Filtern nach Zeit bis zur Log-Rotation, damit dir die Protokolle nicht die Festplatte volllaufen lassen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ob beim Debuggen einer abgest\u00fcrzten Anwendung oder beim Beobachten des laufenden Betriebs \u2013 die <strong>Container-Logs<\/strong> sind deine wichtigste Informationsquelle. Docker sammelt jede Ausgabe deiner Anwendung zentral ein, sodass du Fehlermeldungen, Warnungen und Statusmeldungen an einer Stelle findest. In diesem Guide lernst du nicht nur das Anzeigen der Protokolle, sondern auch, wie du sie gezielt filterst, dauerhaft begrenzt und bei Bedarf an ein zentrales Logging-System weiterleitest.<\/p>\n\n\n\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-1ffd1ad5      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tInhaltsverzeichnis\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#die-grundlagen-docker-logs\" class=\"uagb-toc-link__trigger\">Die Grundlagen: docker logs<\/a><li class=\"uagb-toc__list\"><a href=\"#die-wichtigsten-optionen\" class=\"uagb-toc-link__trigger\">Die wichtigsten Optionen<\/a><li class=\"uagb-toc__list\"><a href=\"#logs-eines-ganzen-compose-stacks\" class=\"uagb-toc-link__trigger\">Logs eines ganzen Compose-Stacks<\/a><li class=\"uagb-toc__list\"><a href=\"#wohin-schreibt-docker-die-logs\" class=\"uagb-toc-link__trigger\">Wohin schreibt Docker die Logs?<\/a><li class=\"uagb-toc__list\"><a href=\"#log-rotation-einrichten\" class=\"uagb-toc-link__trigger\">Log-Rotation einrichten<\/a><li class=\"uagb-toc__list\"><a href=\"#logs-gezielt-durchsuchen-und-weiterverarbeiten\" class=\"uagb-toc-link__trigger\">Logs gezielt durchsuchen und weiterverarbeiten<\/a><li class=\"uagb-toc__list\"><a href=\"#log-treiber-im-vergleich\" class=\"uagb-toc-link__trigger\">Log-Treiber im Vergleich<\/a><li class=\"uagb-toc__list\"><a href=\"#typische-stolperfallen-beim-debugging\" class=\"uagb-toc-link__trigger\">Typische Stolperfallen beim Debugging<\/a><li class=\"uagb-toc__list\"><a href=\"#h\u00e4ufige-fragen\" class=\"uagb-toc-link__trigger\">H\u00e4ufige Fragen<\/a><li class=\"uagb-toc__list\"><a href=\"#wie-l\u00f6sche-ich-die-logs-eines-laufenden-containers\" class=\"uagb-toc-link__trigger\">Wie l\u00f6sche ich die Logs eines laufenden Containers?<\/a><li class=\"uagb-toc__list\"><a href=\"#warum-w\u00e4chst-meine-festplatte-trotz-gel\u00f6schter-container\" class=\"uagb-toc-link__trigger\">Warum w\u00e4chst meine Festplatte trotz gel\u00f6schter Container?<\/a><li class=\"uagb-toc__list\"><a href=\"#kann-ich-logs-mehrerer-container-gleichzeitig-sehen\" class=\"uagb-toc-link__trigger\">Kann ich Logs mehrerer Container gleichzeitig sehen?<\/a><li class=\"uagb-toc__list\"><a href=\"#fazit\" class=\"uagb-toc-link__trigger\">Fazit<\/a><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Die Grundlagen: docker logs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Logs eines einzelnen Containers rufst du mit dem Befehl <code>docker logs<\/code> und dem Containernamen oder der ID auf:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker logs mein-container<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">docker<\/span><span style=\"color: #9ECBFF\"> logs<\/span><span style=\"color: #9ECBFF\"> mein-container<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Docker gibt dir damit alles aus, was der Hauptprozess des Containers auf die Standardausgabe (stdout) und die Fehlerausgabe (stderr) geschrieben hat. Genau diese beiden Str\u00f6me sammelt Docker automatisch ein. Wenn du dir zun\u00e4chst unsicher bist, wie Container grunds\u00e4tzlich funktionieren, hilft <a href=\"https:\/\/netguide.io\/linux\/de\/was-ist-docker\/\">Was ist Docker?<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Die wichtigsten Optionen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Selten willst du das komplette Log am St\u00fcck. Diese Optionen machen die Ausgabe brauchbar:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Option<\/th><th>Wirkung<\/th><\/tr><\/thead><tbody><tr><td><code>-f<\/code> \/ <code>--follow<\/code><\/td><td>Logs live mitverfolgen (wie <code>tail -f<\/code>)<\/td><\/tr><tr><td><code>--tail 100<\/code><\/td><td>Nur die letzten 100 Zeilen anzeigen<\/td><\/tr><tr><td><code>--since 10m<\/code><\/td><td>Nur Eintr\u00e4ge der letzten 10 Minuten<\/td><\/tr><tr><td><code>--until 2026-01-01<\/code><\/td><td>Nur Eintr\u00e4ge bis zu einem Zeitpunkt<\/td><\/tr><tr><td><code>-t<\/code> \/ <code>--timestamps<\/code><\/td><td>Jeder Zeile einen Zeitstempel voranstellen<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In der Praxis kombinierst du sie. Dieser Befehl zeigt die letzten 50 Zeilen und folgt dann live mit Zeitstempeln:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker logs -f --tail 50 -t mein-container<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">docker<\/span><span style=\"color: #9ECBFF\"> logs<\/span><span style=\"color: #79B8FF\"> -f<\/span><span style=\"color: #79B8FF\"> --tail<\/span><span style=\"color: #79B8FF\"> 50<\/span><span style=\"color: #79B8FF\"> -t<\/span><span style=\"color: #9ECBFF\"> mein-container<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Logs eines ganzen Compose-Stacks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Betreibst du mehrere Container per Compose, willst du oft alle Logs gemeinsam sehen. F\u00fchre im Projektverzeichnis mit der <code>docker-compose.yml<\/code> aus:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Logs aller Dienste live mitlesen\ndocker compose logs -f\n\n# Nur einen bestimmten Dienst\ndocker compose logs -f web<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A737D\"># Logs aller Dienste live mitlesen<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">docker<\/span><span style=\"color: #9ECBFF\"> compose<\/span><span style=\"color: #9ECBFF\"> logs<\/span><span style=\"color: #79B8FF\"> -f<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Nur einen bestimmten Dienst<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">docker<\/span><span style=\"color: #9ECBFF\"> compose<\/span><span style=\"color: #9ECBFF\"> logs<\/span><span style=\"color: #79B8FF\"> -f<\/span><span style=\"color: #9ECBFF\"> web<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Die Grundlagen dazu findest du in <a href=\"https:\/\/netguide.io\/linux\/de\/docker-compose-installieren-ubuntu-debian\/\">Docker Compose installieren<\/a>. Bei typischen Startproblemen hilft zus\u00e4tzlich <a href=\"https:\/\/netguide.io\/linux\/de\/die-10-haeufigsten-docker-fehler-mit-loesungen\/\">Die 10 h\u00e4ufigsten Docker-Fehler<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Wohin schreibt Docker die Logs?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standardm\u00e4\u00dfig nutzt Docker den Log-Treiber <code>json-file<\/code>. Die Protokolle liegen als JSON-Dateien unter <code>\/var\/lib\/docker\/containers\/&lt;container-id&gt;\/<\/code>. Das ist wichtig zu wissen, denn: Diese Dateien wachsen <strong>unbegrenzt<\/strong>, solange du nichts dagegen unternimmst \u2013 ein h\u00e4ufiger Grund f\u00fcr volle Festplatten.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Log-Rotation einrichten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Damit die Logs nicht ausufern, begrenzt du ihre Gr\u00f6\u00dfe. Am einfachsten global \u00fcber die Docker-Konfiguration. Lege oder erg\u00e4nze <code>\/etc\/docker\/daemon.json<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{\n  \"log-driver\": \"json-file\",\n  \"log-opts\": {\n    \"max-size\": \"10m\",\n    \"max-file\": \"3\"\n  }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">  \"log-driver\"<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">\"json-file\"<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">  \"log-opts\"<\/span><span style=\"color: #E1E4E8\">: {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">    \"max-size\"<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">\"10m\"<\/span><span style=\"color: #E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">    \"max-file\"<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">\"3\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Das beh\u00e4lt pro Container maximal drei Dateien \u00e0 10 MB. Starte anschlie\u00dfend den Docker-Dienst neu, damit die Einstellung greift (gilt f\u00fcr neu erstellte Container):<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo systemctl restart docker<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #9ECBFF\"> systemctl<\/span><span style=\"color: #9ECBFF\"> restart<\/span><span style=\"color: #9ECBFF\"> docker<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Alternativ setzt du das pro Dienst direkt in der <code>docker-compose.yml<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services:\n  web:\n    image: nginx:latest\n    logging:\n      driver: json-file\n      options:\n        max-size: \"10m\"\n        max-file: \"3\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #85E89D\">services<\/span><span style=\"color: #E1E4E8\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">  web<\/span><span style=\"color: #E1E4E8\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">    image<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">nginx:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">    logging<\/span><span style=\"color: #E1E4E8\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">      driver<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">json-file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">      options<\/span><span style=\"color: #E1E4E8\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">        max-size<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">\"10m\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #85E89D\">        max-file<\/span><span style=\"color: #E1E4E8\">: <\/span><span style=\"color: #9ECBFF\">\"3\"<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Logs gezielt durchsuchen und weiterverarbeiten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In der Praxis interessiert dich selten das komplette Protokoll, sondern nur eine bestimmte Fehlermeldung. Da <code>docker logs<\/code> nach stdout schreibt, kannst du die Ausgabe direkt an klassische Unix-Werkzeuge weiterreichen. Mit <code>docker logs mein-container 2&gt;&amp;1 | grep -i error<\/code> filterst du zum Beispiel alle Zeilen heraus, die das Wort \u201eerror\u201c enthalten. Wichtig ist dabei das <code>2&gt;&amp;1<\/code>, denn viele Programme schreiben Fehler nach stderr statt nach stdout.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr wiederkehrende Analysen lohnt sich ein Blick auf Kombinationen: <code>docker logs --since 1h mein-container | tail -n 100<\/code> zeigt dir die letzten 100 Zeilen der vergangenen Stunde. So grenzt du Probleme zeitlich ein, ohne im gesamten Log zu ertrinken.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Log-Treiber im Vergleich<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker unterst\u00fctzt neben dem Standard <code>json-file<\/code> mehrere Log-Treiber. Welcher passt, h\u00e4ngt von deiner Umgebung ab \u2013 auf einem einzelnen Homeserver reicht der Standard, in gr\u00f6\u00dferen Setups willst du Logs zentral sammeln.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Treiber<\/th><th>Einsatzzweck<\/th><\/tr><\/thead><tbody><tr><td><code>json-file<\/code><\/td><td>Standard, lokal, <code>docker logs<\/code> funktioniert<\/td><\/tr><tr><td><code>local<\/code><\/td><td>Kompakter, rotiert automatisch, empfohlen ab neueren Versionen<\/td><\/tr><tr><td><code>journald<\/code><\/td><td>Integration in systemd-journal des Hosts<\/td><\/tr><tr><td><code>syslog<\/code> \/ <code>fluentd<\/code><\/td><td>Weiterleitung an zentrale Logging-Server<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Beachte: Wechselst du auf <code>syslog<\/code> oder <code>fluentd<\/code>, funktioniert <code>docker logs<\/code> nicht mehr, weil die Daten den Host verlassen. F\u00fcr die meisten Selfhosting-Szenarien ist <code>local<\/code> oder <code>json-file<\/code> mit Rotation die beste Wahl.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Typische Stolperfallen beim Debugging<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn <code>docker logs<\/code> nichts ausgibt, liegt das oft daran, dass die Anwendung ihre Ausgaben in eine Datei innerhalb des Containers schreibt statt nach stdout. Docker sieht davon nichts. Konfiguriere das Programm so, dass es auf die Konsole loggt \u2013 bei nginx etwa durch Weiterleitung des Access-Logs nach <code>\/dev\/stdout<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Container bereits gestoppt? Logs bleiben abrufbar, solange der Container nicht mit <code>docker rm<\/code> gel\u00f6scht wurde.<\/li>\n\n<li>Zeitstempel wirken falsch? Pr\u00fcfe die Zeitzone des Hosts, Docker nutzt standardm\u00e4\u00dfig UTC.<\/li>\n\n<li>Zu viel Rauschen? Erh\u00f6he den Log-Level der Anwendung erst, wenn du wirklich tief debuggst.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">H\u00e4ufige Fragen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kurz und knapp die Fragen, die beim Umgang mit Docker-Logs am h\u00e4ufigsten auftauchen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie l\u00f6sche ich die Logs eines laufenden Containers?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Du kannst die zugeh\u00f6rige JSON-Datei unter <code>\/var\/lib\/docker\/containers\/&lt;id&gt;\/<\/code> leeren (<code>truncate -s 0<\/code>), ohne den Container zu stoppen. Sauberer ist jedoch eine konfigurierte Log-Rotation, damit du das nicht manuell tun musst.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warum w\u00e4chst meine Festplatte trotz gel\u00f6schter Container?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Solange ein Container existiert, bleiben seine Logs bestehen. Ungenutzte Container samt Logs entfernst du mit <code>docker container prune<\/code>. Pr\u00fcfe zus\u00e4tzlich, ob die Rotation greift.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich Logs mehrerer Container gleichzeitig sehen?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, mit Docker Compose \u00fcber <code>docker compose logs -f<\/code> siehst du alle Dienste eines Stacks geb\u00fcndelt. F\u00fcr einzelne, nicht per Compose gestartete Container brauchst du separate Terminalfenster oder ein Tool wie Portainer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Fazit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mit <code>docker logs<\/code> und den Optionen <code>-f<\/code>, <code>--tail<\/code> und <code>--since<\/code> findest du Fehlerursachen schnell. Genauso wichtig ist die <strong>Log-Rotation<\/strong>: Ohne Begrenzung fressen Protokolle mit der Zeit den Speicher. L\u00e4uft die Platte trotzdem voll, hilft dir das <a href=\"https:\/\/netguide.io\/linux\/de\/docker-aufraeumen-speicherplatz-freigeben\/\">Aufr\u00e4umen ungenutzter Docker-Ressourcen<\/a>. Komfortabler wird die Log-Ansicht \u00fcbrigens mit einer Weboberfl\u00e4che wie <a href=\"https:\/\/netguide.io\/linux\/de\/portainer-installieren-docker-verwalten\/\">Portainer<\/a>.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTEwNTUzNDEzMTgiIGNsYXNzPSJuZXRndWlkZWEtYWZ0ZXItY29udGVudCBuZXRndWlkZWEtZW50aXR5LXBsYWNlbWVudCI+PGRpdiBjbGFzcz0ibmV0Z3VpZGVhLWFkbGFiZWwiPkFkdmVydGlzZW1lbnRzPC9kaXY+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzP2NsaWVudD1jYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyIgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiAKZGF0YS1hZC1zbG90PSI0NTU5Nzg1MDAyIiAKZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPgo8c2NyaXB0PiAKKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsgCjwvc2NyaXB0Pgo8L2Rpdj4=<\/script>","protected":false},"excerpt":{"rendered":"<p>Docker Logs anzeigen und verwalten: mit docker logs live mitlesen, filtern, Compose-Logs auswerten und mit Log-Rotation vollen Speicher verhindern.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[231,9],"tags":[],"class_list":["post-4927","post","type-post","status-publish","format-standard","hentry","category-docker","category-linux"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Tobias Pries","author_link":"https:\/\/netguide.io\/linux\/author\/tobias-pries\/"},"uagb_comment_info":0,"uagb_excerpt":"Docker Logs anzeigen und verwalten: mit docker logs live mitlesen, filtern, Compose-Logs auswerten und mit Log-Rotation vollen Speicher verhindern.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/comments?post=4927"}],"version-history":[{"count":1,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4927\/revisions"}],"predecessor-version":[{"id":4971,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4927\/revisions\/4971"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=4927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=4927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=4927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}