用以上脚本在 /usr/local/sbin/下面创建一个文件名为:clear_all_docker_images.sh
#! /bin/bash
echo '----------start------------'
docker rm -f $1
if [ $? -ne 0 ]; then
echo "failed"
else
docker rmi -f $1
if [ $? -ne 0 ]; then
echo "fail"
else
echo "success"
fi
fi
配置好执行权限
直接在控制台运行: clear_all_docker_images.sh
即可完成删除所有docker容器和对应的镜像。
下面为脚本的解释: 技术大牛略过...
脚本用于删除 Docker 容器及其对应的镜像,并根据操作结果输出相应的消息。下面是逐步解释:
1. **#! /bin/bash**
指定使用 Bash 作为脚本的解释器。
2. **echo '----------start------------'**
输出一条信息,表示脚本开始执行。
3. **docker rm -f $1**
使用 `docker rm -f` 命令强制删除容器,其中 `$1` 是传递给脚本的第一个参数,即容器的名称或 ID。
4. **if [ $? -ne 0 ]; then**
检查上一个命令的退出状态码。如果不是 `0`,表示删除容器失败。
5. **echo "failed"**
如果删除容器失败,输出 `"failed"`。
6. **else**
否则,即删除容器成功,执行以下操作。
7. **docker rmi -f $1**
使用 `docker rmi -f` 命令强制删除镜像,其中 `$1` 是传递给脚本的第一个参数,即镜像的名称或 ID。
8. **if [ $? -ne 0 ]; then**
检查删除镜像命令的退出状态码。如果不是 `0`,表示删除镜像失败。
9. **echo "fail"**
如果删除镜像失败,输出 `"fail"`。
10. **else**
否则,即删除镜像成功,执行以下操作。
11. **echo "success"**
输出 `"success"`,表示删除容器和镜像的操作都成功完成。
12. **fi**
结束内层 `if` 结构。
13. **fi**
结束外层 `if` 结构。
总结:这个脚本通过传入一个参数(容器或镜像的名称/ID),尝试删除对应的 Docker 容器及其镜像,并根据操作结果打印相应的成功或失败信息。