images=( "registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitaly:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-shell:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-kas:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-pages:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-container-registry:v4.40.2-gitlab" "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-exporter:v19.1.8" "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.1.8" "registry.gitlab.com/gitlab-org/gitlab-runner:alpine-v17.1.0" ) # Pull, save, compress, and delete each image locally for img in "${images[@]}"; do echo "Processing: $img" docker pull "$img" # Format clean filename replacing '/' and ':' with '-' filename=$(echo "$img" | sed 's/[/:]/-/g').tgz # Save to individual compressed tar archive docker save "$img" | gzip > "$filename" echo "Saved to $filename" # Delete image from local Docker storage to save disk space docker rmi "$img" echo "Removed local image: $img" done