summaryrefslogtreecommitdiff
path: root/packages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh')
-rwxr-xr-xpackages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh b/packages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh
new file mode 100755
index 0000000000..6380535dc0
--- /dev/null
+++ b/packages/microsoft.dotnet.buildtools/2.1.0-rc1-02804-05/lib/scripts/docker/cleanup-docker.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/perl
+
+#
+# ./cleanup-docker.sh
+#
+
+printf "Cleaning up containers\n";
+printf "----------------------\n";
+my $psList = `docker ps -a`;
+my @psItems = split /\n/, $psList;
+foreach(@psItems) {
+ # match 'docker ps' output to capture the container name
+ if($_ =~ /.*\s+([^\s]+)$/ig) {
+ my $containerName = $1;
+ if($containerName !~ /NAME/ig) {
+ printf "delete $containerName\n";
+ my $deleteOutput = `docker rm -f $1`;
+ print "$deleteOutput\n";
+ }
+ }
+}
+
+printf "Cleaning up volumes\n";
+printf "-------------------\n";
+my $volumeList = `docker volume ls`;
+@volumeItems = split /\n/, $volumeList;
+foreach(@volumeItems) {
+ # match 'docker volume ls' output to capture the volume name
+ if($_ =~ /([^\s]+)\s+([^\s]+)$/ig) {
+ my $volumeName = $2;
+ if($volumeName !~ /NAME/ig) {
+ printf "delete $volumeName\n";
+ my $deleteVolumeOutput = `docker volume rm -f $volumeName`;
+ printf "$deleteVolumeOutput\n";
+ }
+ }
+}
+
+printf "Cleaning up images\n";
+printf "------------------\n";
+my $imageList = `docker images`;
+@imageItems = split /\n/, $imageList;
+foreach(@imageItems) {
+ # match 'docker images' output to capture the image id
+ if($_ =~ /([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+.*/ig) {
+ my $imageId = $3;
+ if($imageId !~ /IMAGE/ig) {
+ my $imageRepo = $1;
+ my $imageTag = $2;
+ printf "delete $imageId ($imageRepo:$imageTag)\n";
+ my $deleteImageOutput = `docker rmi -f $imageId`;
+ printf "$deleteImageOutput\n";
+ }
+ }
+}