Ratgeber/Docker-Container stoppen
Docker-Container auf dem Mac stoppen, einzeln oder alle
Kurze Antwort
Um einen Docker-Container zu stoppen, führe docker stop gefolgt von seinem Namen oder seiner ID aus; docker ps listet sie auf. Um alle laufenden Container zu stoppen, führe docker stop $(docker ps -q) aus. In einem Compose-Projekt stoppt docker compose stop seine Container, und docker compose down entfernt sie zusätzlich. docker stop bittet den Container, sich zu beenden, und erzwingt es nach 10 Sekunden. Ein Container, der wiederkommt, hat eine Restart-Policy; schalte sie mit docker update --restart=no aus. Vitals, ein Systemmonitor für den Mac, stoppt Container direkt aus der Menüleiste: Seine Container-Liste zeigt den Speicher jedes Containers, und ein Klick stoppt ihn nach einer Rückfrage.
So stoppst du Docker-Container im Terminal
- 01 Führe
docker psaus, um die laufenden Container mit ihren Namen und IDs aufzulisten. - 02 Stoppe einen mit
docker stopund seinem Namen, zum Beispieldocker stop web-1. Du kannst in einem Befehl mehrere nennen. - 03 Stoppe alle laufenden Container mit
docker stop $(docker ps -q).docker ps -qgibt nur die IDs aus, und docker stop nimmt sie alle. - 04 Führe bei einem Compose-Projekt in seinem Ordner
docker compose stopaus, um seine Dienste zu stoppen, oderdocker compose down, um sie zu stoppen und die Container und das Netzwerk des Projekts zu entfernen. Volumes bleiben, außer du fügst-vhinzu. - 05 Führe
docker psnoch einmal aus. Ein Container, der noch aufgelistet ist, fährt noch herunter, und einer, der einen Moment später wieder da ist, hat eine Restart-Policy.
Dieselben Befehle funktionieren mit OrbStack, Colima und Rancher Desktop, wenn der Befehl docker auf sie zeigt. Podman hat podman stop, und podman stop -a stoppt alle.
Einen Container zu stoppen beendet seine Prozesse und behält alles andere, seine Dateien, Einstellungen und Volumes, bereit für docker start. Deshalb ist es der sichere Weg, Speicher und CPU von einem Container zurückzuholen, den du nicht nutzt. Die Tabelle unten vergleicht es mit den Befehlen, zu denen man stattdessen oft greift.
docker stop, kill, pause, rm und compose down
| Befehl | Was er tut | Nutze ihn, wenn |
|---|---|---|
| docker stop | Sendet SIGTERM, dann nach 10 Sekunden SIGKILL | Fast immer: Die App kann fertig schreiben und ihre Verbindungen schließen |
| docker kill | Sendet sofort SIGKILL | Ein Container ignoriert docker stop |
| docker pause | Friert die Prozesse ein, die ihren Speicher behalten | Du willst eine Weile die CPU zurück, nicht den Speicher |
| docker rm | Entfernt einen gestoppten Container oder mit -f einen laufenden | Du bist fertig damit; benannte Volumes bleiben |
| docker compose stop | Stoppt die Container eines Projekts und behält sie | Du startest dasselbe Projekt bald wieder |
| docker compose down | Stoppt und entfernt die Container und das Netzwerk | Du willst beim nächsten Mal sauber starten; füge -v hinzu, um auch Volumes zu entfernen |
Warum ein gestoppter Container wieder startet
Einen Container mit Restart-Policy startet Docker wieder. Mit always kommt ein Container, den du gestoppt hast, beim nächsten Start von Docker Desktop zurück, sodass Container, die du gestern gestoppt hast, nach einem Neustart wieder laufen. Mit unless-stopped bleibt ein gestoppter Container gestoppt. Compose-Dateien setzen restart: always oft bei Datenbanken und Caches.
Um die Policy eines Containers zu sehen, führe docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' gefolgt von seinem Namen aus. Um sie auszuschalten, führe docker update --restart=no mit dem Namen aus oder ändere restart: in der Compose-Datei.
Wenn docker stop 10 Sekunden dauert
docker stop wartet nach SIGTERM darauf, dass sich der Hauptprozess des Containers beendet. Ein Prozess, der das Signal ignoriert, oft ein Shell-Skript, das es nicht weitergibt, hält das Stoppen die vollen 10 Sekunden auf, bevor Docker ihn beendet. docker stop -t 2 verkürzt die Wartezeit. Wird das Image korrigiert, stoppt es sofort: Starte die App im Entrypoint-Skript mit exec oder setze init: true beim Dienst in Compose.
Container stoppen und den Speicher zurückbekommen
Auf einem Mac laufen Container in einer einzigen virtuellen Linux-Maschine. Sie zu stoppen gibt ihren Speicher darin frei, aber die virtuelle Maschine hält diesen Speicher womöglich weiter, deshalb kann die Aktivitätsanzeige noch immer einen großen „Virtual Machine Service for Docker“ zeigen. „Resource Saver“ oder das Beenden von Docker Desktop gibt ihn an macOS zurück; die Einstellungen stehen unter Docker braucht zu viel Speicher.
Container ohne Terminal stoppen
Die Ansicht „Containers“ in Docker Desktop hat bei jedem Container und jedem Compose-Projekt eine Stopp-Taste. Sie liegt im Fenster von Docker Desktop, du musst die App also öffnen. Menüleisten-Apps wie Captain listen die Container unter einem Symbol in der Menüleiste auf, jeweils mit Start und Stopp. Vitals macht dasselbe aus seiner Menüleiste und ergänzt, was keine davon zeigt: wie viel Speicher und CPU jeder Container nutzt, damit du weißt, welchen du stoppen solltest.
Was Vitals ergänzt
Vitals stoppt Container direkt aus der Menüleiste des Mac, mit ihrem Speicher im Blick.
- Die Container-Liste im Menü: jeder laufende Container mit seinem Compose-Projekt, seinem Image und einem Balken für seinen Speicher
- Zeige auf einen und klicke auf das ×, das erscheint. Die Zeile fragt nach und stoppt ihn dann so wie
docker stop, mit 10 Sekunden zum Herunterfahren - Wähle im Tab „Container“ des Fensters mehrere aus und klicke bei gedrückter ctrl-Taste, um sie zusammen zu stoppen, oder klicke bei gedrückter ctrl-Taste auf ein Compose-Projekt und wähle „Alle stoppen“
- Speicher, CPU, Netzwerk, Festplatte und veröffentlichte Ports für jeden Container, mit Docker Desktop, OrbStack, Colima, Rancher Desktop und Podman
Gut zu wissen
- Vitals fragt nach, bevor es etwas stoppt, und startet, entfernt oder ändert nie einen Container.
- Einen Container mit Restart-Policy kann seine Engine wieder starten. Das Fenster sagt das, wenn es nachfragt.
- Lehnt die Engine ab oder antwortet nicht, sagt die Zeile, dass der Container noch läuft.
- Die Container-Liste erscheint, solange eine Engine läuft.
Häufige Fragen
Wie stoppe ich alle Docker-Container auf einmal?
Führe docker stop $(docker ps -q) aus. Es listet die IDs aller laufenden Container und stoppt jeden davon. Wähle sie in Vitals im Tab „Container“ aus und klicke bei gedrückter ctrl-Taste, um sie zusammen zu stoppen.
Was ist der Unterschied zwischen docker stop und docker kill?
docker stop sendet SIGTERM und wartet bis zu 10 Sekunden, bevor es den Container mit SIGKILL zwingt. docker kill sendet sofort SIGKILL, die App hat also keine Chance, fertig zu schreiben oder ihre Verbindungen zu schließen.
Was ist der Unterschied zwischen docker compose stop und down?
docker compose stop stoppt die Container und behält sie, bereit für docker compose start. docker compose down stoppt sie und entfernt die Container und das Netzwerk des Projekts; Volumes bleiben, außer du fügst -v hinzu.
Warum startet mein Docker-Container wieder, nachdem ich ihn gestoppt habe?
Er hat die Restart-Policy always, deshalb startet Docker ihn wieder, wenn Docker Desktop startet. Führe docker update --restart=no mit seinem Namen aus oder ändere restart: in der Compose-Datei.
Löscht das Stoppen eines Containers seine Daten?
Nein. Ein gestoppter Container behält seine Dateien und Volumes, und docker start führt ihn wieder aus. docker rm entfernt den Container; benannte Volumes bleiben, bis du sie entfernst.
Kann ich Docker-Container aus der Menüleiste des Mac stoppen?
Ja, mit Vitals. Sein Menü in der Menüleiste listet die laufenden Container mit ihrem Speicher, und ein Klick stoppt einen Container nach einer Rückfrage. Es funktioniert mit Docker Desktop, OrbStack, Colima, Rancher Desktop und Podman.
Im Glossar
Weitere Ratgeber
- Warum ist mein Mac so langsam?
- Was die Batterie meines Mac leert
- Welche App meine CPU oder meinen Speicher nutzt
- Warum mein Mac nicht in den Ruhezustand geht
- Chrome braucht zu viel Speicher
- Warum die Lüfter meines Mac so laut sind
- Lüfterdrehzahl auf dem Mac steuern
- Arbeitsspeicher auf dem Mac freigeben
- Docker braucht zu viel Speicher
- Lautstärkemixer für den Mac
- Alternativen zur Aktivitätsanzeige
- Alternativen zu iStat Menus
- Alternativen zu Stats
- Task-Manager für den Mac
- Die besten Systemmonitore für den Mac
- Die besten Systemmonitore für die Menüleiste
- Die besten Lautstärkemixer für den Mac