docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker 删除数据卷volume

删除docker中没有被使用的数据卷volume

作者:Davi&Davi

发现docker占用宿主机的磁盘空间很大,这个时候如何来释放这些数据卷占用的空间呢,通过执行相关命令即可顺利解决,下面小编给大家介绍下删除docker中没有被使用的数据卷volume,感兴趣的朋友跟随小编一起看看吧

删除docker中没有被使用的数据卷volume

如果docker占用宿主机的磁盘空间很大,并且通过

docker system df 

命令检查,发现

volume占用空间比较大,并且有一定的可回收空间,

这个时候,该如何来释放这些数据卷占用的空间呢?

方法非常的简单。

执行下面的命令,就会将那些未被使用的数据卷给清理掉

docker volume prune

执行过程如下:

输入确认的 y 之后,就会进行数据卷的清理【那些没有被任何容器使用的本地volume】

root@nctest-snap-test-02 ~]# docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
e220820b8eb9dfb4326bc3fb19e86f3c64a911c0a571e11b5a3a255565832c59
f6ec74bd8f086eec852d69547a5e5b2366c7d394e3e4ed8367d7975b8321caaf
494ef2bdd9f90a83ba1e204dab333d5722748463a64025e9b381ed3779120658
01b6a3a4ae4f78b49948384617a1500f46a39222cdb69b997dbad33d0d4bb148
20d8b04dc2c9f8ac84e906f66a97282981deb2048da4fb372ca6211457cee23d
873762fd68671a7ff17c17d998d05e7a929a17fbb0a2ccce44c705981d2d68ef
a75faca061538b72d5305adef50b77c031ac83af835c2f77b2ee63a5f9a4cb66
ab09095854535d66b3be9548d07684e76159db1c7d554ba2db7d8f228a4af9c7
a871b2d7e0af8fef22e152d8d8dbc664c3db4a041e1f0ef4fa1a009b11691ec4
3234fe654fa6b0fd3ab0350e9f6ac9450dfcd06f4f2397bed76e6081300f6fa3
2eaf39411106a30d4cfa5e0aae9275860b87a4d5a0ff7ceb6d51b2074ca944e7
445fb5500c5a71c51eafb4abb74870c2132138be59ecf34b8ac4a87f3751eda6
c6fa6574cea4dda7a84a11f2aae62791c57c74aa09d76aa408e63f6b6833357f
ca1e3124a69e4ede52ce2139f2173105d9e580793a2ac40af6639814caeaa4f3
8de6f48d24780dd6f784b065f582514bff75df770b3ff0b45b64aa4559e57856
8de91ac691df2335ba3f55866a096101d781d51ade9445206ec8173cf67ea738
e2608f95c3dcb330196ccfb9e01cc2f3ffd594a28883b5a3d1e649de489c559d
pinpoint-docker-master_data-volume
d60a91fe2ce1e8abcb0481e27fdae49b18f830a5dc6b53fb78a2a8acc03c2002
517d20daee0ff407db15a7c0b03691945ac79e501ccc29c0e8cb332e98ea35d3
53fe182f98fa877f4e8a596d4213c72905c33e13f0bc48dc0f4f35a3a167402e
6ac3fa39c685396310ee9c1da218679ec23db70d36427e9ea618806a36399b72
6ba39a2d1a535dd94af405f8bfa1dbc3850bfb7916dfc8887953bf5f6e385f51
360c13a331d7ef13d9175f36c84cf4a9efe2e90004ddd6b28efadf9699f0f507
87e374d4c5e20b860f1d4c1c13ab2a7f92878bedc015fe3f3116ef11054b4b3c
anchore_anchore-db-volume
ce5f7777c4774b447f2eec0ecb7ffbf8f683f3f03bb4733a23649c775515f3c1
727c5b3df537e25d7d2881119d7c78e4a3322f1b8728ef3bea7c4901f1cce88f
792b29a02390aa5d47743307b880efcd409c6b07d5b82795a3e14c4d34d27439
897f57f20c4a2e0d50013ef96c82a8342484c9248b2c5ba69c3c379cda5a87dd
b1ff6043a51f56a4055dc01b0e21b863ee2d8858f2dfca04e8a54dd047abf74c
2d9d7ff592b5e1b390fbafddd3a7e4f80ad5b519302070c91dad1e24dcbfee49
53b52d7ff16275106adeb0a4a6a6a3fb80a078f4b6e6ea7386253f02396b8d23
4f53b1742573d5e442047642bc4139b7dad637c384c41386835beda3f38e1064
my-vol
7b5769045cccfb59de9301432220a4da86946774e70681ec85c640c393beb842
ed66ff4c1088c4f917d51d0a4507d6915b5c9466872862969eea477cc1f4d095
18b50d674749802b297713cbafcb0266486c1be5ff5e914dbde13d06999085d8
958a3cf5e169a7c7b0af08ed0999fd8e9ba20a537b6ba447f5cb525e5cf62447
e1033960ae7c14aca5ee4cfce0ab34a14d2bc0f7eb33b6d7f65c71aa314e74cc
1909eecd7d5dc8114c8b34a11ef992075430281a52e34faf01557bdb6f15f191
34246b7cd55a1f7c9162b1fdbeb59d0f4c8e1550edd874f84ec4a0810eb862ec
49a53ee471bb0e2d480ed64e7b514c057101ad69d2a134fc462eab74533ac90e
5c4bd6d7fbdf4805e429c5b8a8d0b304dc1454157bdb9bc757f2c34d568719f3
fea84acdc909f2f66f841e48865a41ec41dabfa5039505d203ba40f5ffe71f2e
494650fcf1def9df852060e9f547bd971ad4ac3627587831be81b495afb69218
5f60d097b2e6e5bd544642ee3a23b55eddcc3a2e338f09dfff29ed1edce600f1
2bf4b39c3f1e7d13b80610ceb8c6bb5692393f9542e78d2ef1431de118cca7de
6868db7d9220591a2514706b890e19b9a20fe24313f4cbe8e31ef8aed6b2d6a5
331f024d252c799c3bac6779a39b6a6ace1b39b4656d68b1f1d4190c94b36a73
fe7735e16a0cc92e8bf112d79fd2d69e341d27fb4d928c6aa63078647d4ade15
c3fb20d4e585a95de96c5cc559506d2ecc7bf3336e6ee9af43316f49ad42637b
e22391b97164fadf5971457768f1be953000016dbcac8f1de414550054aa43cf
748cda2a493f71049cebc91839f2118ada8f0cd3313b811674069e75b7c91063
c0d7d2995bcc23383c019efc6f653f028fd397f9578273a65cdc5707c3866390
3fab0aa992a89f5d7986a9ad559b005c9078c7d1991e242bef0ae6990ef27933
ebd4c50155c0db8cce88ff4254c7cfc3b4151f413804fd5afd60c6067acc7707
f457125bad2ab614b515c0281891948693e80617e5bdb02dafa75c9cb4092a76
8b9cf33d6e414bdf660b7080563b2212a8c154d80f7f8db5b0f09da08eb6201b
e4d9ee8432e825dac6a43c19685f843cc379e9924ce83bcb2b560f1172256515
pinpoint-docker-master_mysql_data

Total reclaimed space[总回收空间]: 5.225GB

最后会提示,本次操作一共释放的空间的大小。

当然了,如果不想输入 y,而是直接的确认,直接用下面的命令

docker volume prune -f

ok,到这里,我们就完成了对docker宿主机上未被使用的volume的清理工作。

PS:如何快速清理Docker无用资源

查看 docker 占用的资源

在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。

docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。
docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。
docker volume ls:列出数据卷。
docker network ls:列出 network。
docker info:显示系统级别的信息,比如容器和镜像的数量等。

通过这些命令查看 docker 使用的资源情况后,相信你已经决定要清理 docker 占用的一些资源了!让我们先从那些未被使用的资源开始

只删除那些未被使用的资源

Docker 提供了方便的 docker system prune 命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:

$ docker system prune

安全起见,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 --volumns 参数。比如你可能想要执行下面的命令:

$ docker system prune --all --force --volumns

这次不仅会删除数据卷,而且连确认的过程都没有了!注意,使用 --all 参数后会删除所有未被引用的镜像而不仅仅是 dangling 镜像。

这里有必要解释一下何为 dangling images,其实可以简单的理解为未被任何镜像引用的镜像。比如在你重新构建了镜像后,那些之前构建的且不再被引用的镜像层就变成了 dangling images:

在本地的镜像更新之后,就会出现类似图中红框内的 <none> 镜像。这表示旧的镜像已经不再被引用了,此时它们就变成了 dangling images。如果使用 -a 参数,你还会发现另外一种类型的 <none> 镜像,它们的 repository 和 tag 列都表现为 <none>:

这些镜像被称为 intermediate 镜像(就是其它镜像依赖的层)。

我们还可在不同在子命令下执行 prune,这样删除的就是某类资源:

docker container prune # 删除所有退出状态的容器
docker volume prune # 删除未被使用的数据卷
docker image prune # 删除 dangling 或所有未被使用的镜像

到此这篇关于删除docker中没有被使用的数据卷volume的文章就介绍到这了,更多相关docker 删除数据卷volume内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文