启动所有docker 的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
关闭docker所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
删除所有docker 中容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker 中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
注意:
echo "aa bb cc" | awk -F '{print $1}' 结果就是aa,意思是把字符串按空格分割,取第一个。
awk 是用来提取列的主要工具;
{print $1} 就是将某一行(一条记录)中以空格为分割符的第一个字段打印出来。
tail -n +2 表示从第二行开始读取
例子
# 启动所有容器
docker start $(docker ps -aq)
# 启动所有状态为 exited 的容器,和上面的命令效果一致
docker start $(docker ps -aq -f status=exited)
#删除所有已经停止的容器
docker rm $(docker ps -q --filter "status=exited")