如何在 Docker 中删除映像?

$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input
$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1
$docker info
Containers: 1
Images: 3

答案

尝试docker rmi node 。那应该工作。

查看所有创建的容器就像docker ps -a一样简单。

要删除所有现有容器(不是图像!),请运行docker rm $(docker ps -aq)

以下是删除 Docker 映像 / 容器的一些方法:

删除单张图片

docker rmi image_name:version/image-id

删除所有图片

docker rmi $(docker images -qf "dangling=true")

杀死容器并删除它们:

docker rm $(docker kill $(docker ps -aq))

注意:将kill替换为stop正常关机

删除除 “我的图像” 以外的所有图像

使用 grep 删除除my-imageubuntu之外的所有内容

docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})

(无 awk)

docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))

删除所有 Docker 容器

docker rm $(docker ps -a -q)

删除所有 Docker 映像

docker rmi $(docker images -q)

要使用映像 ID 从 Docker 移除映像:

  1. 获取所有图像的列表

    docker images
  2. 标识要删除的图像的图像 ID,例如:

    REPOSITORY     TAG     IMAGE ID        CREATED        VIRTUAL SIZE
    kweku360/java  latest  08d3a9b8e166    2 weeks ago         5.733 GB`
  3. 最后使用图片 ID 删除图片(仅需要前三位)

    docker rmi 08d

图片:

  1. 列出图片

    码头工人图像

  2. 删除一张图片

    泊坞窗 rmi image_name

  3. 强制删除一张图像

    泊坞窗 rmi -f image_name

容器:

  1. 列出所有容器

    码头工人 ps -a

  2. 取出一个容器

    码头工人 rm container_id

  3. 强制取出一个容器

    泊坞窗 rm -f container_id

如 VonC 在如何删除旧的 Docker 容器中所述,进行了更新

借助 Docker 1.13(2016 年第四季度),您现在拥有:

docker system prune会删除所有未使用的数据(即,顺序为:容器已停止,无容器的卷和无容器的映像)。

请参阅PR 26108commit 86de7c0 ,它们正在引入一些新命令,以帮助促进可视化 Docker 守护程序数据在磁盘上占用了多少空间,并允许轻松清理 “不需要的” 多余空间。

docker system prune

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y

卸下容器

  1. 删除特定的容器

    docker rm CONTAINER_ID CONTAINER_ID
    • 对于单张图像

      docker rm  70c0e19168cf
    • 对于多个图像

      docker rm  70c0e19168cf c2ce80b62174
  2. 取出退出的容器

    docker ps -a -f status=exited
  3. 取出所有容器

    docker ps -q -a | xargs docker rm


移除影像

docker rmi IMAGE_ID
  1. 移除特定图片

    • 对于单个图像

      docker rmi ubuntu
    • 用于多个图像

      docker rmi ubuntu alpine
  2. 删除悬空的图像
    悬空图像是与任何已标记图像无关的图层,因为 Docker 图像由多个图像组成。

    docker rmi -f $(docker images -f dangling=true -q)
  3. 删除所有 Docker 映像

    docker rmi -f $(docker images -a -q)

删除卷

要列出卷,请运行docker volume ls

  1. 删除特定的卷

    docker volume rm VOLUME_NAME
  2. 删除悬空的卷

    docker volume rm $(docker volume ls -f dangling=true -q)
  3. 删除容器及其卷

    docker rm -v CONTAINER_NAME

docker rm container_name

docker rmi image_name

docker help

rm 取出一个或多个容器

rmi 删除一个或多个图像

docker rmi  91c95931e552

来自守护程序的错误响应:冲突,无法删除 91c95931e552,因为容器 76068d66b290 正在使用它,请使用 - f 强制 FATA [0000] 错误:无法删除一个或多个图像

查找容器 ID,

# docker ps -a

# docker rm  daf644660736

首先,我们必须停止并删除将要删除的 Docker 映像附带的 Docker 容器。

因此,首先

  • docker stop container-id正在运行的容器
  • docker rm container-id删除 / 删除容器

然后,

  • docker rmi image-id删除 / 删除图像