天天看點

docker clean images

docker ps | grep portal | awk '{print $2}' | cut -d ":" -f3

docker clean images

used=`docker ps | grep portal | awk '{print $2}' | cut -d ":" -f3`

echo $used

docker images | grep portal | grep -v $used | awk '{print $3}'

docker clean images
處理過的cleanImages.sh
docker clean images

1 #!/bin/bash
 2 i=0
 3 using=`docker ps | grep portal | awk '{print $2}' | cut -d ":" -f3`
 4 echo "using image is $using"
 5 for line in `docker images | grep portal | grep -v $using | awk '{print $3}'`
 6 do
 7     noUsed[${i}]=$line
 8     let i=${i}+1
 9 done
10 for imageId in ${noUsed[*]}
11 do
12     docker rmi $imageId
13     echo "$imageId is deleted"
14 done
15 echo "clean finish"      
docker clean images

shell 将指令傳回結果 賦給一個變量,用的是符号`,指派時等号左右不能有空格,變量名需要遵循使用者變量規範

使用使用者變量無需事先聲明,同時變量名的命名須遵循如下規則:

1). 首個字元必須為字母(a-z,A-Z);

2). 中間不能有空格,可以使用下劃線(_) ;

3). 不能使用标點符号 ;

4). 不能使用bash裡的關鍵字(可用help指令檢視保留關鍵字)

shell中管道兩側的指令是分别在兩個子shell中執行的,而子shell中定義的變量在父shell中是不可見的

docker rmi `docker images| grep process | awk '{print $3}'`