gpt4 book ai didi

bash - 从名称中动态获取 docker 镜像 ID

转载 作者:行者123 更新时间:2023-12-02 18:45:04 25 4
gpt4 key购买 nike

我需要动态删除服务器中的所有 docker 镜像,postgres 镜像和容器除外。

现在我需要一种动态方法来获取该 docker 图像的 id,这样我就知道要避免它,使用:

docker rmi $(docker images -q | grep -v $<id_of_postgres_container>)

对于容器部分,我设法找到了这个:
docker ps -aqf "name=postgres"

它只返回 postgres 容器的 id。有没有办法在不深入了解 bash 脚本的情况下对图像做同样的事情?

或者有什么更好的建议?

最佳答案

docker images --format="{{.Repository}} {{.ID}}" | 
grep "^postgres " |
cut -d' ' -f2

获取格式为 repository<space>id 的 docker 图像,然后过滤以 postgres<space> 开头的行,然后只留下 id。
docker images --format="{{.Repository}} {{.ID}}" | 
grep "^postgres " |
cut -d' ' -f2 |
xargs docker rmi

但是,如果 postgres 容器和图像当前正在运行或使用,您可以:
 docker system prune --force --all

关于bash - 从名称中动态获取 docker 镜像 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com