<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Docker – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Thu, 22 Oct 2026 08:01:06 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>PHP2Shell: So prüft ihr eure Docker-Container auf die PHP-Lücke</title>
		<link>https://linuxundich.de/php2shell-docker-container-pruefen/</link>
					<comments>https://linuxundich.de/php2shell-docker-container-pruefen/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 07:48:50 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<guid isPermaLink="false">https://linuxundich.de/php2shell-docker-container-pruefen/</guid>

					<description><![CDATA[Die kritischen PHP-Lücken CVE-2026-109618 und CVE-2026-109619 betreffen auch selbst gehostete Dienste. Eine kleine Schleife zeigt, welche Docker-Container noch eine anfällige PHP-Version mitbringen.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Seit dem 21. Oktober geistert PHP2Shell durch die Newsticker. Hinter dem griffigen Namen stecken zwei Lücken in PHP, CVE-2026-109618 und CVE-2026-109619, über die Angreifer ohne Anmeldung per präpariertem HTTP-Request Code auf dem Webserver ausführen können. Die PHP-Entwickler stufen beide mit 9.2 nach CVSS 4.0 ein, und laut <a href="https://watchtowr.com/intelligence/php-cve-2026-109618-faq/">watchTowr</a> wird die Lücke bereits aktiv ausgenutzt. Wer selbst hostet, sollte also jetzt nachschauen.</p>



<p class="wp-block-paragraph">Abgedichtet sind die Lücken in PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Für PHP 8.1 und älter gibt es bislang keine regulären Releases mit dem Fix, da hilft nur der Umstieg auf einen unterstützten Zweig. Auf einem normalen Server erledigt das der Paketmanager. Bei Docker sieht die Sache anders aus: Jeder Container bringt sein eigenes PHP mit, und das bleibt so alt, wie das Image eben ist.</p>



<h2 class="wp-block-heading">Welcher Container hat welches PHP?</h2>



<p class="wp-block-paragraph">Die erste Frage lautet also: In welchen Containern auf dem Heimserverchen steckt überhaupt ein PHP? Bei Nextcloud oder WordPress ist das klar, bei selbst gebauten Images oder kleinen Web-Apps weniger. Statt jeden Container einzeln abzuklappern, fragt die folgende Schleife alle laufenden Container nach ihrer PHP-Version und gleicht sie gleich mit den gepatchten Versionen ab.</p>



<pre data-lui-file="php2shell-check.sh" class="wp-block-code"><code>for c in $(docker ps --format '{{.Names}}'); do
  v=$(docker exec &quot;$c&quot; php -r 'echo PHP_VERSION;' 2&gt;/dev/null) || continue
  case &quot;${v%.*}&quot; in
    8.5) fix=8.5.12 ;;
    8.4) fix=8.4.27 ;;
    8.3) fix=8.3.36 ;;
    8.2) fix=8.2.35 ;;
    *)   fix=99 ;;
  esac
  if [ &quot;$(printf '%s\n' &quot;$fix&quot; &quot;$v&quot; | sort -V | head -n1)&quot; = &quot;$fix&quot; ]; then
    printf '\e[32m%-30s %-8s ok\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  else
    printf '\e[31m%-30s %-8s anfällig?\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  fi
done</code></pre>



<p class="wp-block-paragraph">Container ohne PHP überspringt die Schleife stillschweigend. Bei allen anderen landet die Version grün in der Ausgabe, wenn sie mindestens auf dem Stand des Patches ist, und rot, wenn sie darunter liegt. Rot gibt es auch für PHP 8.1, 7.x und älter, denn dafür existiert schlicht kein Fix. Bei mir sieht das Ergebnis so aus:</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
nextcloud-app-1                8.5.12   ok
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
planetfoss-web                 8.3.33   anfällig?
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">Nextcloud und das Test-WordPress hatten ihre Updates also schon gezogen, PlanetFOSS und die Seite für Sisu hingen dagegen noch hinterher. Das Fragezeichen hinter „anfällig“ ist übrigens Absicht. Die Schleife vergleicht nur die Versionsnummer. Nutzt ein Image das PHP-Paket von Debian, Ubuntu oder Alpine, kann der Fix zurückportiert sein, ohne dass sich die Nummer ändert. Dann hilft nur ein Blick in die Sicherheitsmeldungen der Distribution.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ad9ca2d75f31&quot;}" data-wp-interactive="core/image" data-wp-key="6ad9ca2d75f31" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1397" height="877" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/php2shell-simple.webp" alt="Geteiltes Terminalfenster auf bender: links das Skript php2shell-simple.sh mit Zeilennummern, rechts seine Ausgabe mit grünen und roten Containernamen samt PHP-Version" class="wp-image-48100"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Links die Schleife als kleines Skript, rechts ihre Ausgabe: planetfoss-web und sisu-web landen rot in der Liste, der Rest grün.</figcaption></figure>



<p class="wp-block-paragraph">Genauer hinschauen lässt sich mit <a href="https://github.com/EXT-IT/php2shell-check">php2shell-check</a> von EXT IT. Das MIT-lizenzierte Skript arbeitet nur lesend und bewertet PHP anhand der Paketversionen statt nur der Versionsnummer, berücksichtigt also auch zurückportierte Fixes. Es schaut in Docker-Container, FPM-Pools und noch laufende alte Prozesse und schickt auf Wunsch eine harmlose Anfrage an eure Website. Für die Container braucht es Root-Rechte oder die Mitgliedschaft in der Gruppe docker.</p>



<p class="wp-block-paragraph">Die Projektseite schlägt den üblichen Einzeiler mit <code>curl</code> und <code>sudo bash</code> vor. Bei einem Skript, das mit Root-Rechten auf dem Server läuft, mag ich das nicht so gern. Ladet lieber das Skript samt <code>SHA256SUMS</code> aus den Releases herunter, prüft es mit <code>sha256sum -c SHA256SUMS</code>, lest einmal drüber und startet es dann von Hand. Ein „nicht anfällig“ ist laut den Entwicklern übrigens keine Garantie:</p>



<pre class="wp-block-code"><code>$ sudo bash php2shell-check.sh https://eure-seite.example</code></pre>



<p class="wp-block-paragraph">Auf meinem Heimserver lief das Skript mit sudo. Als Mitglied der Gruppe docker sähe es die Container zwar auch ohne Root-Rechte, laufende Prozesse anderer Benutzer und manche Logs blieben dann aber verborgen. Geholt und gestartet habe ich es so:</p>



<pre class="wp-block-code"><code>$ curl -fsSLO https://github.com/EXT-IT/php2shell-check/releases/latest/download/php2shell-check.sh
$ chmod +x php2shell-check.sh 
$ sudo ./php2shell-check.sh </code></pre>



<p class="wp-block-paragraph">Das Urteil deckt sich mit der Schleife: planetfoss-web mit PHP 8.3.33 und sisu-web mit PHP 8.4.26 sind anfällig, Nextcloud und das Test-WordPress nicht. Zusätzlich hat es einen gestoppten Container von Tuxsucht gefunden, den meine Schleife glatt übersehen hat:</p>



<pre class="wp-block-code"><code>PHP in docker containers
  [ OK ] container      nextcloud-app-1 (nextcloud:35-apache)
         PHP 8.5.12 (fixed from 8.5.12)
[...]
  [VULN] container      planetfoss-web (planetfoss-web:local)
         PHP 8.3.33, fixed in 8.3.36
         -&gt; Update PHP to 8.3.36 or later (container: pull the new image and recreate)
[...]
  [VULN] container      sisu-web (sisu-web:local)
         PHP 8.4.26, fixed in 8.4.27
[...]
  [WARN] container      php83 (stopped, tuxsucht-php)
         stopped, but its image ships PHP 8.3.33: it comes back vulnerable on the next start
[...]
Summary  2 vulnerable, 3 undecided, 12 warnings, 11 ok</code></pre>



<p class="wp-block-paragraph">Klar, <code>docker ps</code> listet eben nur laufende Container, und ein gestoppter Container nimmt keine Anfragen an. Startet ihn aber irgendwann jemand wieder, ist die Lücke sofort zurück. Deutlich wird das Skript außerdem beim Thema mod_php: Alle fünf laufenden Container liefern PHP über das Apache-Modul aus, und genau gegen dieses Setup demonstriert das Advisory einen kompletten Angriff ohne Anmeldung.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ad9ca2d7c49f&quot;}" data-wp-interactive="core/image" data-wp-key="6ad9ca2d7c49f" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1397" height="877" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/php2shell-check.webp" alt="Terminalfenster mit der Ausgabe von php2shell-check auf bender: farbig markierte Einträge VULN, WARN und OK für die Container planetfoss-web, sisu-web und php83" class="wp-image-48101"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">php2shell-check meldet sisu-web als anfällig, warnt vor mod_php und findet auch den gestoppten Container php83 mit altem PHP.</figcaption></figure>



<p class="wp-block-paragraph">Bis zum Update schlägt das Skript als Notbehelf vor, <code>session.upload_progress.enabled=0</code> und <code>expose_php=0</code> zu setzen und <code>post_max_size</code> unter einem Viertel von <code>memory_limit</code> zu halten. Die Prüfung von außen hat dagegen wenig gebracht. Für die beiden Websites meldet das Skript nur, dass die Header keine PHP-Version verraten und keine WAF davorsteht. Über den Patchstand sagt das nichts, was das Skript auch ehrlich zugibt.</p>



<h2 class="wp-block-heading">Und wie bekommt man das PHP aktualisiert?</h2>



<p class="wp-block-paragraph">Im Container selbst solltet ihr nichts aktualisieren, das wäre beim nächsten Neustart wieder weg. Stattdessen zieht ihr im jeweiligen Compose-Verzeichnis das neue Image und baut den Container damit neu auf. Bei selbst gebauten Images mit eigenem Dockerfile braucht es ein <code>docker compose build --pull</code>, damit Docker auch das Basis-Image frisch holt:</p>



<pre class="wp-block-code"><code>$ docker compose pull &amp;&amp; docker compose up -d</code></pre>



<p class="wp-block-paragraph">Wichtig: Das hilft natürlich nur, wenn das Basis-Image die gepatchte Version auch schon enthält. Laut <a href="https://www.it-connect.tech/php2shell-and-docker-how-to-check-and-update-your-php-containers/">IT-Connect</a> tauchten die neuen Tags anfangs sogar ohne Image dahinter auf, inzwischen liefern allgemeine Tags wie <code>php:8.3-apache</code> das gepatchte PHP. Wer dagegen eine feste Version wie <code>php:8.4.24-fpm</code> im Dockerfile stehen hat, muss sie selbst anheben. Lasst die Schleife nach dem Update einfach noch einmal laufen. Kümmert euch zuerst um die Container, die aus dem Internet erreichbar sind.</p>



<p class="wp-block-paragraph">Wie das in der Praxis aussieht, zeigt die Testumgebung von PlanetFOSS. Das Image baut auf <code>php:8.3-apache</code> auf und packt im Dockerfile nur noch Erweiterungen wie GD und Intl dazu. Mein Deploy-Skript ruft zwar <code>docker compose up -d --build</code> auf, holt dabei aber kein neues Basis-Image, sondern nimmt das vom August aus dem Cache. Daher stammte das alte PHP 8.3.33. Erst <code>--pull</code> lädt die frische Fassung:</p>



<pre class="wp-block-code"><code>$ cd /data/docker/planetfoss
$ docker compose build --pull web
$ docker compose up -d web</code></pre>



<p class="wp-block-paragraph">Nach gut einer Minute stand das neue Image, und der Container lief mit PHP 8.3.36. Die Datenbank im selben Compose-Projekt bleibt davon unberührt, weil beide Befehle nur den Dienst web ansprechen. Die Schleife zeigt PlanetFOSS danach grün, und auch php2shell-check meldet nur noch sisu-web als anfällig. Das alte Image liegt übrigens noch als Leiche auf der Platte, <code>docker image prune</code> räumt es weg.</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
[...]
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">Alles in allem ist PHP2Shell ein gutes Beispiel dafür, dass Selfhosting mit Docker zwar bequem ist, die Updates aber nicht von allein kommen. Weitere Details zu den Lücken hat <a href="https://www.heise.de/en/news/php2shell-Critical-flaws-allow-code-injection-in-PHP-11494897.html">heise</a> zusammengetragen. Wie man Container ohne viel Gefrickel auf Stand hält, habe ich mir übrigens in <a href="https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/">Docker-Container einfach aktuell halten mit Dockcheck</a> angeschaut. Wie haltet ihr eure Container aktuell?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/php2shell-docker-container-pruefen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker-Container einfach aktuell halten mit Dockcheck</title>
		<link>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/</link>
					<comments>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 09:00:53 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Homelab]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=44233</guid>

					<description><![CDATA[Docker-Container aktuell halten ohne Web-GUI? Dockcheck erledigt Updates und Aufräumen direkt im Terminal!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer Container mit Docker betreibt, steht regelmäßig vor der Aufgabe, Images zu aktualisieren und alte, ungenutzte Versionen aufzuräumen. Viele setzen dafür auf Tools mit Web-Oberfläche wie <a href="https://www.portainer.io/">Portainer</a> oder <a href="https://dockge.kuma.pet/">Dockge</a>. Ich finde das Helfer-Skript <a href="https://github.com/mag37/dockcheck">Dockcheck</a> allerdings praktischer: Es läuft im Terminal, aktualisiert Container automatisiert und räumt in einem Rutsch auf, ohne dass ich mich durch Menüs klicken muss.</p>







<figure data-wp-context="{&quot;imageId&quot;:&quot;6ad9ca2d8c4f5&quot;}" data-wp-interactive="core/image" data-wp-key="6ad9ca2d8c4f5" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1280" height="864" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/dockge-1280x864.webp" alt="Bei Dockge müsste man jedes Update von Hand anstoßen und wird auch nicht über neue Aktualisierungen informiert." class="wp-image-44244" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/03/dockge-1280x864.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/03/dockge-640x432.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/dockge-768x519.webp 768w, https://linuxundich.de/wp-content/uploads/2025/03/dockge.webp 1469w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Bei Dockge müsste man jedes Update von Hand anstoßen und wird auch nicht über neue Aktualisierungen informiert.</figcaption></figure>



<h2 class="wp-block-heading" id="installation-von-dockcheck">Installation von dockcheck</h2>



<p class="wp-block-paragraph">Dockcheck benötigt lediglich eine laufende Docker-Installation inklusive Docker Compose (als Plugin oder standalone) sowie einige kleinere Abhängigkeiten wie <code>jq</code> und <code>regclient/regctl</code>. Fehlende Pakete installiert das Skript bei Bedarf selbst oder gibt Hinweise dazu aus.</p>



<p class="wp-block-paragraph">Die Installation ist denkbar einfach:</p>



<pre class="wp-block-code"><code>$ <strong>curl -L https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh -o ~/.local/bin/dockcheck.sh</strong>
$ <strong>chmod +x ~/.local/bin/dockcheck.sh</strong></code></pre>



<p class="wp-block-paragraph">Anschließend könnt ihr das Skript direkt aufrufen:</p>



<pre class="wp-block-code"><code>$ <strong>dockcheck.sh -h</strong></code></pre>



<p class="has-pale-cyan-blue-background-color has-background wp-block-paragraph"><strong>Info:</strong> Dazu muss der Ordner <code>~/.local/bin</code> natürlich in der <code>$PATH</code>-Variable enthalten sein. Ergänzt bei Bedarf die Pfadangabe in eurer <code>~/.bashrc</code> oder einer anderen passenden Konfigurationsdatei.</p>



<h2 class="wp-block-heading" id="nutzung-von-dockcheck">Nutzung von dockcheck</h2>



<p class="wp-block-paragraph">Dockcheck überprüft die installierten Container-Images und aktualisiert sie bei Bedarf. Mit der Option <code>-x</code> nutzt Dockcheck mehrere Prozesse, was die Geschwindigkeit ganz wesentlich erhöht. Ein einfaches Update aller Container sieht so aus:</p>



<pre class="wp-block-code"><code>### Mit Informationen und Nachfragen:
$ <strong>dockcheck.sh -x 5</strong>

### Alle Container automatisiert aktualisieren:
$ <strong>dockcheck.sh -y -p -x 5</strong></code></pre>



<p class="wp-block-paragraph">Dabei bewirken die Parameter:</p>



<ul class="wp-block-list">
<li><code>-y</code>: Automatische Updates ohne Rückfragen.</li>



<li><code>-p</code>: Bereinigt alte, nicht mehr genutzte Images nach dem Update.</li>



<li><code>-x N</code>: Parallele Update-Prozesse (Standard: 1, kann für schnellere Updates erhöht werden).</li>
</ul>



<p class="wp-block-paragraph">Möchtet ihr bestimmte Container ausschließen, könnt ihr die Option <code>-e</code> nutzen. Das ist praktisch, wenn bei einem wichtigen Projekt größere Updates anstehen oder ein Container einfach nie aktualisiert werden soll.</p>



<pre class="wp-block-code"><code>$ <strong>dockcheck.sh -x 5 -e nextcloud,withings-gc-bridge</strong>
Excluding these names:
nextcloud
withings-gc-bridge

&#91;##################################################] 31/31 

Containers on latest version:
authelia
changedetection-playwright-chrome-1
...
wallabag-wallabag-1

Containers with updates available:
1) changedetection
2) immich_server

Choose what containers to update.
Enter number(s) separated by comma, &#91;a] for all - &#91;q] to quit: </code></pre>



<p class="wp-block-paragraph">Weitere praktische Optionen sind:</p>



<ul class="wp-block-list">
<li><code>-d N</code>: Nur Images aktualisieren, die mindestens N Tage alt sind.</li>



<li><code>-s</code>: Auch gestoppte Container prüfen.</li>
</ul>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ad9ca2d9f7d5&quot;}" data-wp-interactive="core/image" data-wp-key="6ad9ca2d9f7d5" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1183" height="936" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/03/dockcheck.webp" alt="Mit nur einem Kommando prüft und aktualisiert Dockcheck alle aktiven Docker-Container, was die Verwaltung des eigenen Homelabs wesentlich vereinfacht. " class="wp-image-44234" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/03/dockcheck.webp 1183w, https://linuxundich.de/wp-content/uploads/2025/03/dockcheck-640x506.webp 640w, https://linuxundich.de/wp-content/uploads/2025/03/dockcheck-768x608.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Mit nur einem Kommando prüft und aktualisiert Dockcheck alle aktiven Docker-Container, was die Verwaltung des eigenen Homelabs wesentlich vereinfacht. </figcaption></figure>



<h2 class="wp-block-heading" id="updates-im-blick-behalten">Updates im Blick behalten</h2>



<p class="wp-block-paragraph">Dockcheck macht das Aktualisieren von Docker-Containern sehr einfach – vielleicht aber fast schon zu einfach. Das Skript installiert neue Container-Images ohne weitere Prüfung. Falls ein Update zu Problemen führt oder manuelle Anpassungen erfordert, bekommt ihr das nicht direkt mit. Daher empfiehlt es sich, News-Quellen wie <a href="https://selfh.st">This Week in Self-Hosted</a> im Auge zu behalten, um über Änderungen informiert zu bleiben und Dockcheck nicht einfach jeden Tag blind anzuwerfen.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/docker-container-einfach-aktuell-halten-mit-dockcheck/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
