{"id":4920,"date":"2026-08-10T21:49:42","date_gmt":"2026-08-10T21:49:42","guid":{"rendered":"https:\/\/netguide.io\/linux\/docker-aufraeumen-speicherplatz-freigeben\/"},"modified":"2026-08-10T23:41:00","modified_gmt":"2026-08-10T23:41:00","slug":"docker-aufraeumen-speicherplatz-freigeben","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/docker-aufraeumen-speicherplatz-freigeben\/","title":{"rendered":"Docker aufr\u00e4umen: Speicherplatz freigeben mit prune"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTEwMjM4MjQ1MjEiIGNsYXNzPSJuZXRndWlkZWEtYmVmb3JlLWNvbnRlbnQgbmV0Z3VpZGVhLWVudGl0eS1wbGFjZW1lbnQiPjxkaXYgY2xhc3M9Im5ldGd1aWRlYS1hZGxhYmVsIj5BZHZlcnRpc2VtZW50czwvZGl2PjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcz9jbGllbnQ9Y2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIiBzdHlsZT0iZGlzcGxheTpibG9jazsiIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgCmRhdGEtYWQtc2xvdD0iMzQ5NDExNTM0MiIgCmRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4KPHNjcmlwdD4gCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7IAo8L3NjcmlwdD4KPC9kaXY+<\/script>\n<p class=\"wp-block-paragraph\">Die Festplatte l\u00e4uft voll und Docker ist der \u00dcbelt\u00e4ter? Mit der Zeit sammeln sich ungenutzte Images, gestoppte Container und verwaiste Volumes an. In dieser Anleitung zeigen wir dir, wie du <strong>Docker aufr\u00e4umst und Speicherplatz freigibst<\/strong> \u2013 gezielt und kontrolliert oder in einem Rutsch mit <code>docker system prune<\/code>. Du lernst au\u00dferdem, wie du <strong>ungenutzte Images, Container und Volumes<\/strong> gefahrlos entfernst, den Speicherverbrauch analysierst und das Aufr\u00e4umen dauerhaft automatisierst.<\/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=\"#warum-docker-so-viel-speicher-belegt\" class=\"uagb-toc-link__trigger\">Warum Docker so viel Speicher belegt<\/a><li class=\"uagb-toc__list\"><a href=\"#speicherverbrauch-analysieren\" class=\"uagb-toc-link__trigger\">Speicherverbrauch analysieren<\/a><li class=\"uagb-toc__list\"><a href=\"#gezielt-aufr\u00e4umen\" class=\"uagb-toc-link__trigger\">Gezielt aufr\u00e4umen<\/a><li class=\"uagb-toc__list\"><a href=\"#alles-auf-einmal-docker-system-prune\" class=\"uagb-toc-link__trigger\">Alles auf einmal: docker system prune<\/a><li class=\"uagb-toc__list\"><a href=\"#vorsicht-bei-volumes\" class=\"uagb-toc-link__trigger\">Vorsicht bei Volumes<\/a><li class=\"uagb-toc__list\"><a href=\"#automatisch-aufr\u00e4umen\" class=\"uagb-toc-link__trigger\">Automatisch aufr\u00e4umen<\/a><li class=\"uagb-toc__list\"><a href=\"#container-logs-als-versteckter-speicherfresser\" class=\"uagb-toc-link__trigger\">Container-Logs als versteckter Speicherfresser<\/a><li class=\"uagb-toc__list\"><a href=\"#sicher-aufr\u00e4umen-ohne-datenverlust\" class=\"uagb-toc-link__trigger\">Sicher aufr\u00e4umen ohne Datenverlust<\/a><li class=\"uagb-toc__list\"><a href=\"#ergebnis-nach-dem-aufr\u00e4umen-pr\u00fcfen\" class=\"uagb-toc-link__trigger\">Ergebnis nach dem Aufr\u00e4umen pr\u00fcfen<\/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=\"#l\u00f6scht-docker-system-prune-meine-volumes\" class=\"uagb-toc-link__trigger\">L\u00f6scht docker system prune meine Volumes?<\/a><li class=\"uagb-toc__list\"><a href=\"#wie-entferne-ich-alle-ungenutzten-images-auf-einmal\" class=\"uagb-toc-link__trigger\">Wie entferne ich alle ungenutzten Images auf einmal?<\/a><li class=\"uagb-toc__list\"><a href=\"#kann-ich-das-aufr\u00e4umen-automatisieren\" class=\"uagb-toc-link__trigger\">Kann ich das Aufr\u00e4umen automatisieren?<\/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\">Warum Docker so viel Speicher belegt<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jedes heruntergeladene Image, jeder gestoppte Container und jedes Volume belegt Platz. Besonders Images summieren sich schnell: Bei jedem Update l\u00e4dst du eine neue Version, w\u00e4hrend die alte oft ungenutzt liegen bleibt. Auch der Build-Cache und Logs wachsen mit der Zeit. Das Ergebnis: Nach Monaten Betrieb belegen \u201eLeichen\u201c mehrere Gigabyte.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Speicherverbrauch analysieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor du l\u00f6schst, verschaffe dir einen \u00dcberblick. Der folgende Befehl zeigt, wie viel Platz Images, Container, Volumes und der Build-Cache belegen \u2013 und wie viel davon wiederverwertbar ist:<\/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 system df<\/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\"> system<\/span><span style=\"color: #9ECBFF\"> df<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr eine detaillierte Aufschl\u00fcsselung pro Objekt h\u00e4ngst du <code>-v<\/code> an:<\/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 system df -v<\/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\"> system<\/span><span style=\"color: #9ECBFF\"> df<\/span><span style=\"color: #79B8FF\"> -v<\/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\">Gezielt aufr\u00e4umen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wer die Kontrolle behalten will, r\u00e4umt einzeln auf. Diese Befehle entfernen jeweils nur <strong>ungenutzte<\/strong> Objekte:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Befehl<\/th><th>Entfernt<\/th><\/tr><\/thead><tbody><tr><td><code>docker container prune<\/code><\/td><td>Alle gestoppten Container<\/td><\/tr><tr><td><code>docker image prune<\/code><\/td><td>Ungenutzte \u201edangling\u201c Images (ohne Tag)<\/td><\/tr><tr><td><code>docker image prune -a<\/code><\/td><td>Alle Images, die von keinem Container genutzt werden<\/td><\/tr><tr><td><code>docker network prune<\/code><\/td><td>Ungenutzte Netzwerke<\/td><\/tr><tr><td><code>docker builder prune<\/code><\/td><td>Den Build-Cache<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ein h\u00e4ufiger Speicherfresser sind alte Images. Mit <code>docker image prune -a<\/code> wirst du alle los, die gerade von keinem laufenden Container gebraucht werden.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Alles auf einmal: docker system prune<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Willst du in einem Schritt aufr\u00e4umen, nutzt du <code>docker system prune<\/code>. Es entfernt gestoppte Container, ungenutzte Netzwerke, dangling Images und den Build-Cache:<\/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 system prune<\/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\"> system<\/span><span style=\"color: #9ECBFF\"> prune<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Standardm\u00e4\u00dfig bleiben Volumes und getaggte, ungenutzte Images verschont. Um wirklich alles Ungenutzte inklusive solcher Images zu l\u00f6schen, erg\u00e4nzt du <code>-a<\/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>docker system prune -a<\/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\"> system<\/span><span style=\"color: #9ECBFF\"> prune<\/span><span style=\"color: #79B8FF\"> -a<\/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\">Vorsicht bei Volumes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein wichtiger Hinweis: <strong>Volumes enthalten deine Daten.<\/strong> Der Befehl <code>docker system prune<\/code> l\u00f6scht standardm\u00e4\u00dfig keine Volumes. Erst mit dem zus\u00e4tzlichen Flag <code>--volumes<\/code> werden auch ungenutzte Volumes entfernt \u2013 und damit wom\u00f6glich deine Datenbank-Inhalte:<\/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># ACHTUNG: l\u00f6scht auch ungenutzte Volumes samt Daten!\ndocker system prune -a --volumes<\/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\"># ACHTUNG: l\u00f6scht auch ungenutzte Volumes samt Daten!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">docker<\/span><span style=\"color: #9ECBFF\"> system<\/span><span style=\"color: #9ECBFF\"> prune<\/span><span style=\"color: #79B8FF\"> -a<\/span><span style=\"color: #79B8FF\"> --volumes<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Nutze dieses Flag nur, wenn du sicher bist, dass die betroffenen Volumes wirklich nicht mehr gebraucht werden. Was Volumes genau sind, erkl\u00e4rt <a href=\"https:\/\/netguide.io\/linux\/de\/docker-volumes-daten-persistent-speichern\/\">Docker Volumes: Daten dauerhaft speichern<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Automatisch aufr\u00e4umen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Damit die Platte gar nicht erst volll\u00e4uft, kannst du das Aufr\u00e4umen automatisieren. Ein regelm\u00e4\u00dfiger Cronjob erledigt das ganz von selbst:<\/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># Jeden Sonntag um 3 Uhr ungenutzte Images und Container entfernen\n0 3 * * 0 \/usr\/bin\/docker system prune -af &gt;&gt; \/var\/log\/docker-prune.log 2&gt;&amp;1<\/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\"># Jeden Sonntag um 3 Uhr ungenutzte Images und Container entfernen<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">0<\/span><span style=\"color: #79B8FF\"> 3<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> 0<\/span><span style=\"color: #9ECBFF\"> \/usr\/bin\/docker<\/span><span style=\"color: #9ECBFF\"> system<\/span><span style=\"color: #9ECBFF\"> prune<\/span><span style=\"color: #79B8FF\"> -af<\/span><span style=\"color: #F97583\"> >><\/span><span style=\"color: #9ECBFF\"> \/var\/log\/docker-prune.log<\/span><span style=\"color: #F97583\"> 2>&#x26;1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wie du solche Zeitpl\u00e4ne einrichtest, steht in <a href=\"https:\/\/netguide.io\/linux\/de\/cronjobs-linux-crontab-einrichten\/\">Cronjobs unter Linux mit crontab einrichten<\/a>. Nutzt du <a href=\"https:\/\/netguide.io\/linux\/de\/docker-container-automatisch-aktualisieren-watchtower\/\">Watchtower<\/a>, \u00fcbernimmt dessen Option <code>WATCHTOWER_CLEANUP<\/code> zus\u00e4tzlich das Entfernen alter Images nach jedem Update.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Container-Logs als versteckter Speicherfresser<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein oft \u00fcbersehener Grund f\u00fcr volle Platten sind die Logdateien laufender Container. Standardm\u00e4\u00dfig schreibt Docker sie unbegrenzt in JSON-Dateien unter <code>\/var\/lib\/docker\/containers\/<\/code>. Ein gespr\u00e4chiger Dienst kann so \u00fcber Wochen mehrere Gigabyte ansammeln. Begrenze das global in der Datei <code>\/etc\/docker\/daemon.json<\/code> \u00fcber die Optionen <code>max-size<\/code> und <code>max-file<\/code>, damit Docker die Logs automatisch rotiert.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pr\u00fcfe die Gr\u00f6\u00dfe einzelner Logs mit <code>du -sh \/var\/lib\/docker\/containers\/*\/*-json.log<\/code>.<\/li>\n\n<li>Setze in <code>daemon.json<\/code> z. B. <code>\"max-size\": \"10m\"<\/code> und <code>\"max-file\": \"3\"<\/code>.<\/li>\n\n<li>Nach dem Anpassen musst du die betroffenen Container neu erstellen, damit die Rotation greift.<\/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\">Sicher aufr\u00e4umen ohne Datenverlust<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die <code>prune<\/code>-Befehle sind m\u00e4chtig, l\u00f6schen im Zweifel aber mehr, als dir lieb ist. Halte dich deshalb an eine einfache Reihenfolge: erst analysieren, dann gezielt l\u00f6schen, Volumes zuletzt und nur bewusst. Der entscheidende Unterschied liegt beim <code>-a<\/code>-Flag: <code>docker image prune<\/code> entfernt nur namenlose \u201edangling\u201c Images, <code>docker image prune -a<\/code> dagegen alle Images, die gerade von keinem laufenden Container gebraucht werden \u2013 auch solche, die du bald wieder brauchst.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Befehl<\/th><th>Risiko<\/th><\/tr><\/thead><tbody><tr><td><code>docker container prune<\/code><\/td><td>Gering \u2013 nur gestoppte Container<\/td><\/tr><tr><td><code>docker image prune -a<\/code><\/td><td>Mittel \u2013 l\u00e4dt Images ggf. neu herunter<\/td><\/tr><tr><td><code>docker system prune --volumes<\/code><\/td><td>Hoch \u2013 kann Datenbank-Daten l\u00f6schen<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Ergebnis nach dem Aufr\u00e4umen pr\u00fcfen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nach dem Aufr\u00e4umen lohnt ein Kontrollblick. Mit <code>docker system df<\/code> siehst du sofort, wie viel Platz du zur\u00fcckgewonnen hast. Auf Systemebene zeigt dir <code>df -h<\/code>, ob die Root-Partition wieder Luft hat. Bleibt der Speicher trotz Aufr\u00e4umen knapp, steckt die Ursache oft in gro\u00dfen Volumes oder au\u00dferhalb von Docker \u2013 dann hilft eine systematische Analyse mit <code>ncdu \/<\/code>. Behalte den Verlauf im Blick: W\u00e4chst der belegte Platz nach jedem Update wieder stark an, ist ein automatisches Aufr\u00e4umen per Cronjob die nachhaltigere L\u00f6sung als gelegentliches manuelles L\u00f6schen.<\/p>\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<h3 class=\"wp-block-heading\">L\u00f6scht <code>docker system prune<\/code> meine Volumes?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nein, standardm\u00e4\u00dfig nicht. Volumes bleiben verschont, solange du nicht ausdr\u00fccklich das Flag <code>--volumes<\/code> erg\u00e4nzt. Genau deshalb ist der Basisbefehl vergleichsweise ungef\u00e4hrlich.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie entferne ich alle ungenutzten Images auf einmal?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mit <code>docker image prune -a<\/code> l\u00f6schst du s\u00e4mtliche Images, die von keinem Container verwendet werden. Das gibt oft am meisten Platz frei, l\u00e4dt ben\u00f6tigte Images beim n\u00e4chsten Start aber neu herunter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich das Aufr\u00e4umen automatisieren?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja. Ein Cronjob mit <code>docker system prune -af<\/code> h\u00e4lt den Host dauerhaft schlank. Achte darauf, das <code>--volumes<\/code>-Flag im Automatismus wegzulassen, damit keine Daten verloren gehen.<\/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 system df<\/code> beh\u00e4ltst du den \u00dcberblick und mit den <code>prune<\/code>-Befehlen gibst du gezielt oder umfassend Speicher frei. Merke dir vor allem eines: Volumes werden nur mit dem ausdr\u00fccklichen Flag <code>--volumes<\/code> gel\u00f6scht \u2013 hier ist Vorsicht geboten. Automatisierst du das Aufr\u00e4umen per Cron, bleibt dein Docker-Host dauerhaft schlank. Ein weiterer heimlicher Speicherfresser sind <a href=\"https:\/\/netguide.io\/linux\/de\/docker-logs-anzeigen-verwalten\/\">ausufernde Container-Logs<\/a>. Den gesamten <a href=\"https:\/\/netguide.io\/linux\/de\/linux-speicherplatz-analysieren-df-du-ncdu\/\">Speicherplatz analysierst du systematisch<\/a> mit df, du und ncdu. Weitere Stolperfallen behandelt <a href=\"https:\/\/netguide.io\/linux\/de\/die-10-haeufigsten-docker-fehler-mit-loesungen\/\">Die 10 h\u00e4ufigsten Docker-Fehler<\/a>.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTMxNzMyMTI2NSIgY2xhc3M9Im5ldGd1aWRlYS1hZnRlci1jb250ZW50IG5ldGd1aWRlYS1lbnRpdHktcGxhY2VtZW50Ij48ZGl2IGNsYXNzPSJuZXRndWlkZWEtYWRsYWJlbCI+QWR2ZXJ0aXNlbWVudHM8L2Rpdj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanM\/Y2xpZW50PWNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48aW5zIGNsYXNzPSJhZHNieWdvb2dsZSIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IiBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIApkYXRhLWFkLXNsb3Q9IjQ1NTk3ODUwMDIiIApkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+CjxzY3JpcHQ+IAooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOyAKPC9zY3JpcHQ+CjwvZGl2Pg==<\/script>","protected":false},"excerpt":{"rendered":"<p>Docker belegt zu viel Speicher? So gibst du Platz frei: ungenutzte Images, Container, Volumes und Netzwerke gezielt oder mit docker system prune entfernen.<\/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-4920","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 belegt zu viel Speicher? So gibst du Platz frei: ungenutzte Images, Container, Volumes und Netzwerke gezielt oder mit docker system prune entfernen.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4920","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=4920"}],"version-history":[{"count":2,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4920\/revisions"}],"predecessor-version":[{"id":4966,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4920\/revisions\/4966"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=4920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=4920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=4920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}