Löschen Sie Container dauerhaft in Docker

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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - Docker Container

Verwandter Artikel - Docker Image