docker 删除镜像

(我们以删除 php-fpm 这个镜像为例子)

一、查看镜像的 ID

[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis               latest              36304d3b4540        3 weeks ago         104 MB
docker.io/redislabs/rebloom   latest              ff42eae2d4fc        3 months ago        98.5 MB
docker.io/feisky/php-fpm      sp                  65aa12240203        20 months ago       384 MB
docker.io/feisky/nginx        sp                  915c06c73824        20 months ago       109 MB

(php-fpm 镜像ID 为:65aa12240203

二、执行镜像删除命令: docker rmi IMAGE ID 

[root@localhost ~]# docker rmi 65aa12240203
Error response from daemon: conflict: unable to delete 65aa12240203 (cannot be forced) - image is being used by running container 7ce6e056ebb3

这里,我们发现报错了是因为我们要删除的镜像正在被容器ID为:7ce6e056ebb3 的正在运行着。

(1)我们可以使用  docker ps -a  看一下:

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                      PO         NAMES
7ce6e056ebb3        feisky/php-fpm:sp   "php-fpm -F --pid ..."   About a minute ago   Up About a minute                      phpfpm
6e740aa100ef        feisky/nginx:sp     "nginx -g 'daemon ..."   2 minutes ago        Up 2 minutes                0.tcp      nginx
ba6392c9da69        redis               "docker-entrypoint..."   12 days ago          Exited (255) 13 hours ago   1279/tcp   redis-server-6379
f29c1f1814a1        redislabs/rebloom   "docker-entrypoint..."   13 days ago          Exited (0) 13 days ago                 compassionate_aryabhata
f5ed3ec05a9e        redislabs/rebloom   "docker-entrypoint..."   13 days ago          Created                                blissful_nobel
e212a66e1964        redislabs/rebloom   "docker-entrypoint..."   13 days ago          Exited (0) 13 days ago                 dreamy_jennings
2995bb0ef7b6        redislabs/rebloom   "docker-entrypoint..."   13 days ago          Created                                festive_shirley

可以看到容器ID为 7ce6e056ebb3 的已经在运行中。(Up About a minute

(2)这时,我们需要先停止正在运行的容器,否则会出现如下情况:

[root@localhost ~]# docker rm 7ce6e056ebb3
Error response from daemon: You cannot remove a running container 7ce6e056ebb37062e7ed26ded5bff57a11b4d005193be35ca18d8bbc9307cb21. Stop the container before attempting removal or use -f

解决方法:(1)停止正在运行容器: docker stop 7ce6e056ebb3 

                          最后执行删除容器操作: docker rm 7ce6e056ebb3 

     (2)强制删除正在运行容器: docker rm -f 7ce6e056ebb3 

三、现在我们可以执行镜像删除  docker rmi IMAGE ID 

[root@localhost ~]# docker rmi 65aa12240203
Untagged: docker.io/feisky/php-fpm:sp
Untagged: docker.io/feisky/php-fpm@sha256:b3835a298915058f41cf4c01895dd6556b272f6035a77ce1dad1f0c39f37b19f
Deleted: sha256:65aa1224020319c62d5f1045ecf096797ce0db3b895c4bf00d083a97e837bb3c
Deleted: sha256:94f2d9ba77fcab9e8ef305324c0063450067753418a368d88f3983aca63e3802
Deleted: sha256:389a8a0e2506f7ddaa2bff3d1b23af2296c5fe4c1441dda68562dfd2e9f6ade0
......

四、检查镜像是否删除成功  docker images 

[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis               latest              36304d3b4540        3 weeks ago         104 MB
docker.io/redislabs/rebloom   latest              ff42eae2d4fc        3 months ago        98.5 MB
docker.io/feisky/nginx        sp                  915c06c73824        20 months ago       109 MB

我们可以看到 php-fpm 镜像已经删除成功。

原文地址:https://www.cnblogs.com/xiaowei123/p/13175615.html