blob: 2d66fe02259d8bb96e1c09a61ecd32111e54d1db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/bash
##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
# clean up dependent project docker images, which has no containers and image tag None
clean_images=(opnfv/functest opnfv/yardstick opnfv/testapi mongo)
for clean_image in "${clean_images[@]}"; do
dangling_images=($(docker images -f "dangling=true" | grep ${clean_image} | awk '{print $3}'))
if [[ -n ${dangling_images} ]]; then
for image_id in "${dangling_images[@]}"; do
echo "Removing image $image_id, which has no containers and image tag is None"
docker rmi $image_id >${redirect}
done
fi
done
echo "Remove dovetail images with tag None and containers with these images ..."
dangling_images=($(docker images -f "dangling=true" | grep opnfv/dovetail | awk '{print $3}'))
if [[ -n ${dangling_images} ]]; then
for image_id in "${dangling_images[@]}"; do
echo "Removing image $image_id with tag None and its related containers"
docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
docker rmi $image_id >${redirect}
done
fi
echo "Cleaning up dovetail docker containers..."
if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then
echo "Removing existing opnfv/dovetail containers..."
docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
fi
#echo "Remove dovetail existing images if exist..."
#if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
# echo "Docker images to remove:"
# docker images | head -1 && docker images | grep opnfv/dovetail >${redirect}
# image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
# for tag in "${image_tags[@]}"; do
# echo "Removing docker image opnfv/dovetail:$tag..."
# docker rmi opnfv/dovetail:$tag >${redirect}
# done
#fi
|