Löschen Sie Container dauerhaft in Docker
Normalerweise löscht Docker gestoppte Container nicht, sondern enttagt sie nur. Dieser Vorgang geschieht, um ein versehentliches Löschen angehaltener Container zu vermeiden.
In diesem Artikel wird das ordnungsgemäße Löschen nicht verwendeter und nicht gekennzeichneter Container erläutert, um Ressourcen in Docker zurückzugewinnen.
Löschen Sie Container dauerhaft in Docker
In Docker haben wir den Befehl remove, der ein bestimmtes Image zwangsweise löscht. Dieser Befehl ist docker rmi -f <image_id>
für Images und docker rm <container_id>
für Container.
Auf dem Papier löscht der Befehl das Container-Image jedoch nicht, sondern löscht es nur vorläufig, indem das Objekt enttaggt wird.
Wenn wir unsere angehaltenen Bilder mit dem Befehl docker image ls -a
überprüfen, können wir überprüfen, ob der obige Befehl unsere Bilder nur enttaggt, anstatt sie zu entfernen.
Beispielausgabe:
Untagged: my_image:latest
In den folgenden Abschnitten werden mehrere Skripte und Parameter erläutert, die uns beim dauerhaften Entfernen von Docker-Containern helfen.
Beschneiden Sie Container in Docker
Wenn wir mit Docker arbeiten, können wir schnell viele ungenutzte Objekte ansammeln, die erheblichen Speicherplatz verbrauchen und die von Docker-Befehlen erzeugte Ausgabe überladen. Leider entfernt Docker keine ungetaggten und ungenutzten Objekte wie Container, Images, Volumes und Netzwerke, es sei denn, es weist uns ausdrücklich darauf hin.
Wir können Ressourcen mit Container Pruning schnell zurückfordern, indem wir Container im angehaltenen Status löschen. Zum Beispiel können wir den folgenden Befehl verwenden.
Beispielcode:
docker system prune -a
Das Flag -a
entfernt alle unbenutzten Bilder. Nach dem Ausführen werden wir mit der folgenden Meldung aufgefordert.
Wir können diese Nachricht umgehen, indem wir den obigen Befehl mit dem Force-Flag -f
hinzufügen.
WARNING! This command will remove the following:
- all containers with the stopped status
- all network paths not used by at least one (1) container
- all images without at least one (1) container associated with them
- all cache
Are you sure you want to continue? [y/N]
Darüber hinaus löschen die obigen Befehle keine unbenutzten Volumes, die an zuvor unbenutzte Docker-Container angehängt sind. Wir können jedoch den Parameter --volumes
anhängen und verwenden, um das Entfernen nicht verwendeter Volumes einzuschließen.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInVerwandter Artikel - Docker Container
- Der Unterschied zwischen Docker-Container und Docker-Image
- Erstellen Sie einen Container in einer Docker-Compose-Datei neu
- Führen Sie Container mit Docker kontinuierlich im Hintergrund aus
- Geben Sie einen laufenden Docker-Container mit einem neuen Pseudo-TTY ein
- Listen Sie nur die angehaltenen Container in Docker auf