From d075984e77d6ceeb1ee69cecd42c488aefc691d9 Mon Sep 17 00:00:00 2001 From: mappu Date: Tue, 29 Apr 2025 22:42:48 +1200 Subject: [PATCH] miqt-docker: auto cleanup old container versions --- cmd/miqt-docker/main.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cmd/miqt-docker/main.go b/cmd/miqt-docker/main.go index dd8ffd75..c5cf4d30 100644 --- a/cmd/miqt-docker/main.go +++ b/cmd/miqt-docker/main.go @@ -113,6 +113,27 @@ func main() { } } + // Container match found - clean up older containers for the same tag + + allContainers, err := dockerListImages() + if err != nil { + return nil, err + } + for _, ctr := range allContainers { + if ctr.Repository == containerName && + !(ctr.Tag == dockerfileHash || ctr.Tag == "latest") { + log.Printf("Removing previous version container %s:%s ...", containerName, ctr.Tag) + rmCmd := dockerCommand(`image`, `rm`, containerName+`:`+ctr.Tag) + rmCmd.Stdout = os.Stdout + rmCmd.Stderr = os.Stderr + err = rmCmd.Run() + if err != nil { + log.Printf("Warning: Failed to remove previous container: %v", err.Error()) + // log and continue + } + } + } + // Container match found - safe to run our command fullCommand := []string{"run"}