使用标签过滤器清理卷
在最后这一步,你将学习如何根据标签来清理卷。这是一种强大的方法,可选择性地移除符合特定条件的卷,而不影响其他卷。
首先,让我们创建几个带有不同标签的新卷,以便进行过滤操作。
docker volume create --label env=dev dev_volume
docker volume create --label env=prod prod_volume
docker volume create --label type=data data_volume
我们创建了三个新卷:带有标签 env=dev
的 dev_volume
、带有标签 env=prod
的 prod_volume
以及带有标签 type=data
的 data_volume
。
让我们列出所有卷,查看新创建的卷。
docker volume ls
你应该会在列表中看到 dev_volume
、prod_volume
和 data_volume
。
现在,让我们仅清理带有标签 env=dev
的卷。我们可以在 --filter
标志中使用 label
键。
docker volume prune --filter label=env=dev
Docker 会要求你确认。输入 y
并按回车键。
输出会显示 dev_volume
已被移除。
让我们再次列出卷,确认只有 dev_volume
被移除了。
docker volume ls
现在你应该会看到 prod_volume
和 data_volume
仍保留着。
我们还可以过滤掉不包含特定标签的卷。例如,让我们清理不带有标签 type=data
的卷。
docker volume prune --filter label!=type=data
Docker 会要求你确认。输入 y
并按回车键。
输出会显示 prod_volume
已被移除。
让我们最后一次列出卷,看看还剩下哪些。
docker volume ls
现在你应该只会看到 data_volume
还保留着。
这展示了你如何根据自身需求使用标签过滤器来选择性地清理卷。