我只想让他输出删除了哪些镜像,其他的不需要输出
时间: 2024-04-18 11:28:57 浏览: 31
好的,我已经修改了脚本,使其只输出删除的镜像名称。请尝试以下修改后的脚本:
```bash
#!/bin/bash
# 获取所有镜像列表,并按照创建时间排序
image_list=$(docker image ls --format "{{.Repository}}:{{.Tag}}|{{.CreatedAt}}" | sort -t "|" -k2,2)
# 获取所有镜像名
image_names=$(echo "$image_list" | cut -d "|" -f 1 | uniq)
# 遍历每个镜像名
for image_name in $image_names; do
# 获取特定镜像名的镜像列表
filtered_images=$(echo "$image_list" | grep "$image_name")
# 获取镜像数量
image_count=$(echo "$filtered_images" | wc -l)
# 如果镜像数量超过3个,则删除旧的镜像,只保留最近的两个
if [ $image_count -gt 3 ]; then
images_to_delete=$((image_count - 2))
images_to_delete_list=$(echo "$filtered_images" | head -n $images_to_delete | cut -d "|" -f 1)
for image in $images_to_delete_list; do
docker image rm $image
echo "已删除镜像 $image"
done
fi
done
```
这个脚本将会在删除镜像时输出相应的信息,告诉你哪些镜像被删除了。如果某个镜像名出现超过3次,并且有旧的镜像需要删除时,会输出类似 "已删除镜像 mysql:latest" 的信息。
请再次尝试执行脚本,看看是否能够正常删除旧的镜像,并输出相应的删除信息。如果还有其他问题,请随时告诉我。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)