33 Auf Arch Linux ist Docker in zwei Befehlen installiert – und genau diese Kürze führt zum häufigsten Fehler. Denn anders als auf Debian und Ubuntu startet der Dienst danach nicht von allein. Wer das nicht weiß, sucht den Fehler bei der Installation, obwohl nur ein Befehl fehlt. Dazu kommt eine Besonderheit: Docker bietet für Arch kein eigenes Repository an. Die Pakete kommen aus den Arch-Quellen selbst und werden von der Distribution gepflegt. Das hat Vor- und Nachteile, die dieser Artikel benennt. Geprüft auf einem laufenden Arch-System (Omarchy 4.0.3, Kernel 7.2.3) mit Docker 29.7.2, docker-compose 5.5.1 und buildx 0.37.0, Stand September 2026. Das Wichtigste in Kürze Pakete kommen aus den Arch-Quellen, nicht von Docker. Es gibt kein docker-ce. Der Dienst muss von Hand aktiviert werden – das ist der entscheidende Unterschied. Niemals pacman -Sy paket verwenden. Immer -Syu, sonst riskierst du ein halb aktualisiertes System. Auf manchen Arch-Ableitungen ist Docker schon installiert, aber abgeschaltet. Voraussetzungen Ein aktuelles Arch Linux oder ein Ableger wie Manjaro, EndeavourOS, CachyOS oder Omarchy, dazu ein Benutzer mit sudo-Rechten. Weil Arch ein rollendes Release ist, gibt es keine Versionsnummern zu beachten – aber eine Bedingung: Dein System sollte aktuell sein, bevor du Pakete nachinstallierst. Warum, steht gleich im ersten Schritt. Erst nachsehen: ist Docker schon da? Einige Arch-Zusammenstellungen liefern Docker bereits mit. Auf dem Testsystem war genau das der Fall: $ pacman -Q docker docker-compose docker-buildx docker 1:29.7.2-1 docker-compose 5.5.1-1 docker-buildx 0.37.0-1 Alles vorhanden – und trotzdem lief nichts: $ systemctl is-enabled docker disabled $ systemctl is-active docker inactive Wenn du auf einem solchen System docker ps eingibst und eine Fehlermeldung über den Socket bekommst, fehlt nicht die Installation, sondern Schritt 2 dieses Artikels. Schritt 1: Pakete installieren Ein Befehl genügt: sudo pacman -Syu docker docker-compose docker-buildx Drei Pakete, und die Namen unterscheiden sich von denen auf Debian: Arch-Paket Entspricht auf Debian/Ubuntu Wofür docker docker-ce + docker-ce-cli + containerd.io Dienst, Befehl und Laufzeit in einem Paket docker-compose docker-compose-plugin Das docker compose-Plugin, nicht das alte Python-Programm docker-buildx docker-buildx-plugin Abbilder bauen, auch für andere Architekturen Das Paket docker-compose aus den Arch-Quellen ist bereits die aktuelle Plugin-Variante – es liefert docker compose mit Leerzeichen, nicht das abgekündigte docker-compose mit Bindestrich. Der Paketname führt hier in die Irre. Warum -Syu und nicht -Sy Dieser Punkt ist wichtiger als die Installation selbst. Auf Arch führt -Sy nur die Paketdatenbank nach, ohne das System zu aktualisieren. Installierst du danach ein Paket, kann es gegen Bibliotheken gebaut sein, die auf deinem System noch in einer älteren Fassung liegen – ein Teilupgrade. Das Ergebnis reicht von Fehlermeldungen über fehlende Bibliotheken bis zu einem System, das nicht mehr startet. Arch unterstützt Teilupgrades ausdrücklich nicht. Die Regel lautet deshalb: immer -Syu, auch wenn es dabei mehr aktualisiert als nur Docker. Wer das nicht will, aktualisiert eben zu einem anderen Zeitpunkt – aber nicht halb. Schritt 2: Den Dienst aktivieren – der entscheidende Schritt Arch-Pakete aktivieren ihre Dienste grundsätzlich nicht selbst. Das ist Absicht: Die Distribution entscheidet nicht für dich, was laufen soll. Für Docker heißt das: sudo systemctl enable --now docker.service Im Test sah der Übergang so aus: vorher: enabled=disabled active=inactive Created symlink '/etc/systemd/system/multi-user.target.wants/docker.service' → '/usr/lib/systemd/system/docker.service'. nachher: enabled=enabled active=active Die beiden Teile des Befehls haben getrennte Aufgaben: enable sorgt dafür, dass der Dienst beim Booten startet, --now startet ihn sofort. Lässt du --now weg, läuft Docker erst nach dem nächsten Neustart. docker.service oder docker.socket? Arch bringt beide Units mit, und das verwirrt zu Recht: $ systemctl is-enabled docker.service enabled $ systemctl is-enabled docker.socket enabled Der Unterschied: docker.service hält den Dienst dauerhaft laufend. docker.socket ist Socket-Aktivierung – der Dienst schläft und wird erst gestartet, wenn etwas auf den Socket zugreift. Für einen Server, auf dem Container dauerhaft laufen sollen, willst du docker.service aktivieren. Nur die Socket-Variante zu nehmen klingt sparsam, hat aber eine unangenehme Folge: Nach einem Neustart läuft der Dienst nicht, bis jemand einen Docker-Befehl ausführt – und Container mit restart: unless-stopped starten dann eben nicht automatisch mit. Auf einem Arbeitsplatzrechner, der Docker nur gelegentlich braucht, ist die Socket-Aktivierung dagegen sinnvoll. Schritt 3: Funktionstest sudo docker run --rm hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 4f55086f7dd0: Pull complete Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. Das --rm entfernt den Container gleich nach dem Beenden – bei einem Test, den man nie wieder braucht, die sauberere Variante. Ein Blick auf die Kennzahlen: $ docker info --format "Storage: {{.Driver}} | Cgroup: {{.CgroupDriver}} v{{.CgroupVersion}}" Storage: overlayfs | Cgroup: systemd v2 Schritt 4: Docker ohne sudo Auf Arch existiert die Gruppe docker nach der Installation bereits, dein Benutzer ist aber nicht darin: $ id -nG dr wheel Aufnehmen: sudo usermod -aG docker $USER Danach abmelden und neu anmelden. Erst dann greift es: $ id -nG dr docker wheel $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES Für ein einzelnes Terminal reicht newgrp docker. Zur Einordnung: Die Gruppe docker entspricht faktisch Root-Rechten – über einen Container lässt sich das Dateisystem des Wirts einhängen und beschreiben. Auf dem eigenen Rechner unkritisch, auf geteilten Systemen eine bewusste Entscheidung. Was auf einem rollenden Release anders ist Arch liefert dir stets die neueste Docker-Version – das ist der Vorteil. Der Preis ist Aufmerksamkeit an drei Stellen: Docker aktualisiert mit dem System. Ein pacman -Syu kann eine neue Docker-Hauptversion mitbringen. Meist geht das glatt, gelegentlich ändert sich Verhalten. Auf einem Server, der wichtige Dienste trägt, solltest du nach dem Upgrade kontrollieren, ob alle Container wieder laufen: docker ps -a --format "{{.Names}}\t{{.Status}}" Der Dienst wird beim Upgrade neu gestartet. Laufende Container werden dabei kurz unterbrochen. Mit restart: unless-stopped in der Compose-Datei kommen sie von allein zurück; ohne diese Angabe bleiben sie aus. Die Arch-Wiki ist die bessere Dokumentation. Dockers eigene Anleitungen kennen Arch nicht. Bei Problemen ist der Wiki-Artikel „Docker“ die verlässlichere Quelle – er ist ausführlich und wird gepflegt. Wer Docker auf einem Rechner betreibt, der ohne Aufsicht durchlaufen soll, ist mit einem Debian- oder Ubuntu-Unterbau besser beraten. Für einen Arbeitsplatz oder einen Heimserver, den du ohnehin im Blick hast, ist Arch völlig in Ordnung. Container-Ports und die Firewall Ein Punkt, der auf jedem System gilt und den man kennen muss: Veröffentlichte Container-Ports umgehen deine Firewall. Docker schreibt seine Weiterleitungsregeln ganz vorn in die Filterketten – vor denen deiner Firewall. Ein Container mit ports: - "8080:80" ist für das gesamte Netzwerk erreichbar, auch wenn deine Firewall eingehende Verbindungen verbietet. Die einfachste Absicherung ist eine Adresse vor dem Port: ports: - "127.0.0.1:8080:80" Damit horcht der Dienst nur lokal. Brauchst du ihn im Netz, stellst du einen Reverse Proxy davor. Wer veröffentlichte Ports behalten und dennoch einschränken will, setzt Regeln in der Kette DOCKER-USER – die ist ausdrücklich für eigene Regeln vorgesehen, und Docker rührt sie nicht an. Ausführlich mit Nachweis steht das in unserer Ubuntu-Anleitung. Wichtige Dateien und Verzeichnisse Pfad Bedeutung /var/lib/docker Abbilder, Container, Volumes /etc/docker/daemon.json Konfiguration; existiert standardmäßig nicht /usr/lib/systemd/system/docker.service Die systemd-Unit /usr/lib/systemd/system/docker.socket Die Unit für Socket-Aktivierung /var/run/docker.sock Der Socket zwischen Befehl und Dienst Platzverbrauch prüfen mit docker system df, aufräumen mit docker system prune. Auf Arch lohnt zusätzlich der Blick auf den Paket-Cache unter /var/cache/pacman/pkg, der ebenfalls gern wächst. Passende HardwareArch auf einem Arbeitsplatz oder kleinen Server – in beiden Fällen ist die SSD der wichtigste Posten.NVMe-SSD 1 TBAuf Amazon ansehenMini-PC mit Intel N100Auf Amazon ansehenArbeitsspeicher DDR5 32 GBAuf Amazon ansehenMechanische Tastatur mit deutschem LayoutAuf Amazon ansehen* Affiliate-Links: Als Amazon-Partner verdienen wir an qualifizierten Käufen. Bitte prüfe die Kompatibilität mit deinem System. Häufige Fragen Warum gibt es kein docker-ce für Arch? Weil Docker nur für Distributionen mit festen Veröffentlichungszyklen eigene Pakete baut. Bei einem rollenden Release wäre ein separates Repository kaum zu pflegen. Die Arch-Betreuer bauen Docker stattdessen selbst, meist innerhalb weniger Tage nach einer neuen Version. Funktioniert das auch auf Manjaro oder EndeavourOS? Ja, die Befehle sind identisch. Manjaro hält Pakete bewusst einige Zeit zurück, sodass du dort eine etwas ältere Docker-Version bekommst – für den Betrieb ist das eher ein Vorteil. Muss ich das AUR benutzen? Nein. docker, docker-compose und docker-buildx liegen alle in den offiziellen Arch-Quellen. Im AUR findest du zusätzlich Randfälle wie docker-rootless-extras, die du nur für bestimmte Vorhaben brauchst. docker ps meldet „Cannot connect to the Docker daemon“ – warum? In neun von zehn Fällen fehlt Schritt 2: Der Dienst läuft nicht. Prüfe mit systemctl is-active docker. Kommt inactive, hol sudo systemctl enable --now docker.service nach. Kommt active, ist es die Gruppenmitgliedschaft aus Schritt 4 – dann fehlt die neue Anmeldung. Wie schalte ich Docker vorübergehend ab? sudo systemctl stop docker.socket docker.service. Beide Units, sonst startet die Socket-Aktivierung den Dienst beim nächsten Zugriff gleich wieder. Wie entferne ich Docker vollständig? sudo systemctl disable --now docker.service docker.socket sudo pacman -Rns docker docker-compose docker-buildx sudo rm -rf /var/lib/docker Der letzte Befehl löscht alle Abbilder, Container und Volumes unwiderruflich. Fazit Auf Arch ist Docker mit pacman -Syu docker docker-compose docker-buildx und systemctl enable --now docker.service in zwei Befehlen einsatzbereit. Der zweite ist der, den alle vergessen – und weil Arch-Pakete grundsätzlich keine Dienste selbst starten, wiederholt sich dieses Muster bei jedem weiteren Serverdienst, den du installierst. Die Frage, die du dir vorher stellen solltest, ist nicht technisch: Willst du auf einem rollenden Release Dienste betreiben, die durchlaufen müssen? Für den Arbeitsplatz und den beaufsichtigten Heimserver ja. Für den Server im Keller, an den du ein Jahr nicht denkst, wäre Debian die ruhigere Wahl. Alle Anleitungen im Überblick: Docker auf jedem System installieren. Vorheriger Beitrag Steckdosentester Benning SDT 1: Steckdose und FI-Schalter in zehn Sekunden prüfen Nächster Beitrag Ich habe von einem Alien geträumt – und dann meine Geräte gezählt You may also like Pi-hole-Update schließt Root-Lücke: Manipulierte PID-Datei schmuggelt Befehle ein Oktober 20, 2026 PwnEscape: Kritische Linux-Kernel-Lücke lässt VMs den Host-Speicher auslesen Oktober 16, 2026 Linux-Backdoors tarnen sich als Mail-Sicherheitssoftware: BPFDoor und AVERAT nutzen Port 25 Oktober 7, 2026 Domain hosten ohne eigene IP: Cloudflare Tunnel einrichten Oktober 6, 2026 FreeBSD vs. Linux: Welches System für welchen Zweck? Oktober 1, 2026 Linux: Festplatte formatieren und dauerhaft einbinden September 30, 2026 Hinterlasse einen Kommentar Cancel Reply Save my name, email, and website in this browser for the next time I comment.