随着我们使用
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:iteblog_hadoop
镜像的删除
在删除镜像之前,我们可以看下系统里面都有哪些镜像: [iteblog@iteblog.com ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 4 months ago 13.3kB
iteblog/hbase-phoenix-docker 1.0 978d21a23ec3 6 months ago 1.55GB
iteblog/hbase-docker 1.0 677d048ab37f 6 months ago 840MB
docker image rm
这个命令可以删除一个或多个镜像,语法如下: docker image rm [OPTIONS] IMAGE [IMAGE...]
有些镜像因为依赖关系可能删不了,这时候可以加上 --force 或 -f 强制删除。比如我们想删除上面的 hello-world 这个镜像,可以如下操作: [iteblog@iteblog.com ~]# docker image rm bf756fb1ae65
Untagged: hello-world:latest
Untagged: hello-world@sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
Deleted: sha256:9c27e219663c25e0f28493790cc0b88bc973ba3b1686355f221c38a36978ac63
[iteblog@iteblog.com ~]#
提供镜像的 IMAGE ID 即可删除对应镜像。
docker rmi
这个命令和上面一样,也是删除一个或多个镜像,语法如下: docker rmi [OPTIONS] IMAGE [IMAGE...]
例子: [iteblog@iteblog.com ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
[iteblog@iteblog.com ~]$ docker rmi test1:latest
Untagged: test1:latest
[iteblog@iteblog.com ~]$ docker rmi test2:latest
Untagged: test2:latest
[iteblog@iteblog.com ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
[iteblog@iteblog.com ~]$ docker rmi fd484f19954f
Untagged: test:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
docker image prune
如果想移除所有没有使用的镜像,可以使用这个命令。没有使用的镜像就是没有和如何容器关联的镜像。语法如下: docker image prune [OPTIONS]
例子: [iteblog@iteblog.com ~]$ docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: iteblog/hbase-docker:1.0
untagged: iteblog/hbase-docker@sha256:fe3e4159ee69894b284e489a6593f0c036b64672756f5f6e94c00a584df8b7a9
deleted: sha256:677d048ab37fac3d5548daaae49a668246acce5300ff7dc7f64ef09397e08ba4
untagged: hello-world:latest
untagged: hello-world@sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
deleted: sha256:9c27e219663c25e0f28493790cc0b88bc973ba3b1686355f221c38a36978ac63
Total reclaimed space: 13.34kB
[iteblog@iteblog.com ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
iteblog/hbase-phoenix-docker 1.0 978d21a23ec3 6 months ago 1.55GB
[root@iZ2zehs1vcgddrwqz1w2xhZ ~]#
本文中的 iteblog/hbase-phoenix-docker 有对应的容器打开,所有没有被删除。当然,你也可以加上 --filter 来过滤出满足条件的镜像,然后删除它,具体可以参见 这里。当然,删除所有没有使用的镜像也可以使用下面命令: [iteblog@iteblog.com ~]$ docker rmi -f $(docker images -aq)
Untagged: iteblog/hbase-phoenix-docker:1.0
Untagged: iteblog/hbase-phoenix-docker@sha256:c1126991c0c485dfd9c59f161ce2ed0c3f43fbe9f596f6a6f4e028897774bf12
Deleted: sha256:978d21a23ec3bf88ae37de8f5bd43cc23484eba1dbc5abb50fc6ae6f1b46dea0
批量删除tag为none的image [iteblog@iteblog.com ~]$ docker images | grep none | awk '{print $3}' | xargs docker rmi
容器删除
同样,我们可以使用下面命令查看出系统中所有的容器,包括正在运行或者已经停止的: [iteblog@iteblog.com ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6c9124dcaa28 iteblog/hbase-phoenix-docker:1.0 "/usr/bin/supervisord" 9 minutes ago Up 9 minutes 2181/tcp, 8765/tcp, 60000/tcp, 60010/tcp, 60020/tcp, 60030/tcp boring_elbakyan
docker container rm
这个命令用于删除一个或多个容器,语法如下: docker container rm [OPTIONS] CONTAINER [CONTAINER...] [iteblog@iteblog.com ~]$ docker container rm 6c9124dcaa28 -f
6c9124dcaa28
docker rm
这个命令和上面一样,也是删除一个或多个容器,语法如下: docker rm [OPTIONS] CONTAINER [CONTAINER...]
例子: [iteblog@iteblog.com ~] docker rm abdf6f8d70fc -f
abdf6f8d70fc
docker container prune
这个命令用于删除所有已经 stopped 的容器,语法如下: docker container prune [OPTIONS]
例子: [iteblog@iteblog.com ~] $ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
d23b5611cae58fd6845f528f997357a642d74e8f2076e60d38405fdec89ab6a2
Total reclaimed space: 67.39MB
和 docker image prune 命令一样,也支持 --filter 来过滤出满足条件的容器,然后删除它,具体可以参见这里。当然,删除所有已经停止的镜像也可以使用下面命令: [iteblog@iteblog.com ~] $ docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker stop | xargs docker rm
1653167d8fdf
参考:
https://docs.docker.com/engine/reference/commandline/rmi/
https://docs.docker.com/engine/reference/commandline/rm/
https://docs.docker.com/engine/reference/commandline/container_rm/
https://docs.docker.com/engine/reference/commandline/image_rm/
https://docs.docker.com/engine/reference/commandline/system_prune/
https://docs.docker.com/engine/reference/commandline/image_prune/
https://docs.docker.com/engine/reference/commandline/container_prune/