1129— Docker 一行命令执行高效快捷批量操作
以管理员身份连接 docker 服务器,执行以下快捷操作。
1 一行命令备份所有本地镜像文件
# 新建临时目录
mkdir tmp
cd tmp
# 备份所有本地 docker images
docker images -a|awk '{print $3,$1":"$2}'|tail -n +2 |awk '{cmd="docker save -o "$1".tar "$2;print(cmd);system(cmd)}'
#解释:
{print $3,$1":"$2} # 形成以空格分隔的2组字符串
$3镜像ID,在管道的下一步作为 awk的 $1
$1":"$2 ==> 以 REPOSITORY:TAG 的形式组成新的字符串,作为管道下游 awk的$2
2 一行命令加载目录下的所有镜像文件
ls *.tar|awk '{cmd="docker load -i ./"$1;system(cmd)}'
3 一行命令删除所有本地镜像文件
docker images -a| tail -n +2 | awk '{print $3}' | xargs -I{} docker rmi {}
#解释:
tail -n +2 # 去除标题行
或
docker rmi -f $(docker images -aq)
4 一行命令停止所有容器
docker stop $(docker ps -q)
5 一行命令强制删除所有容器
docker rm -f $(docker ps -aq)
2024-11-29