[docker] Use image IDs instead of tags 43/28843/1
authorjose.lausuch <jose.lausuch@ericsson.com>
Thu, 16 Feb 2017 16:25:08 +0000 (17:25 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Thu, 16 Feb 2017 16:25:08 +0000 (17:25 +0100)
If we use tags, when there are remaining images without
the tag <none> it fails and get the following error:

Removing docker image opnfv/functest:<none>...
Error response from daemon: Error parsing reference:
"opnfv/functest:<none>" is not a valid repository/tag

By using IDs we make sure we delete the images.

Change-Id: Ib336dc73168bac909c42dd4a9681ef07d477dc7b
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
jjb/releng/opnfv-docker.sh

index c906e1f..7b93d50 100644 (file)
@@ -43,11 +43,11 @@ fi
 if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then
     echo "Docker images to remove:"
     docker images | head -1 && docker images | grep $DOCKER_REPO_NAME
-    image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}'))
-    for tag in "${image_tags[@]}"; do
-        if [[ -n "$(docker images|grep $DOCKER_REPO_NAME|grep $tag)" ]]; then
-            echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
-            docker rmi -f $DOCKER_REPO_NAME:$tag
+    image_ids=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $3}'))
+    for id in "${image_ids[@]}"; do
+        if [[ -n "$(docker images|grep $DOCKER_REPO_NAME|grep $id)" ]]; then
+            echo "Removing docker image $DOCKER_REPO_NAME:$id..."
+            docker rmi -f $id
         fi
     done
 fi