刪除影象
docker rmi
命令用於刪除影象:
docker rmi <image name>
必須使用完整的影象名稱來刪除影象。除非已標記影象以刪除登錄檔名稱,否則需要指定它。例如:
docker rmi registry.example.com/username/myAppImage:1.3.5
也可以通過 ID 刪除影象:
docker rmi 693bce725149
為方便起見,只要指定的子字串是明確的,就可以通過僅指定影象 ID 的前幾個字元來按影象 ID 刪除影象:
docker rmi 693
注意: 即使存在使用該影象的容器,也可以刪除影象; docker rmi 只是解開影象。
如果沒有容器正在使用影象,則會對其進行垃圾回收。如果容器使用影象,則在刪除使用它的所有容器後,將對影象進行垃圾收集。例如:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5483657ee07b hello-world "/hello" Less than a second ago Exited (0) 2 seconds ago small_elion
$ docker rmi hello-world
Untagged: hello-world:latest
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5483657ee07b 693bce725149 "/hello" Less than a second ago Exited (0) 12 seconds ago small_elion
刪除所有未啟動容器的影象
要刪除所有沒有已啟動容器的本地映像,可以提供映像列表作為引數:
docker rmi $(docker images -qa)
刪除所有影象
如果要刪除影象而不管它們是否具有已啟動的容器,請使用 force 標誌(-f
):
docker rmi -f $(docker images -qa)
刪除懸空影象
如果影象沒有被標記並且沒有被任何容器使用,那麼它就是晃來晃去,可能會像這樣刪除:
docker images -q --no-trunc -f dangling=true | xargs -r docker rmi