longhorn/scripts/save-images.sh
Phan Le f5379e2ec0 deploy, scripts: provide list of images and script to pull and push all Longhorn component images to user provided registry
This help to remove the extra dependency on different container image
registry. Docker Hub now holds all Longhorn components' images.
Also, users can easily pull all the necessary images to their
air-gap environment

Longhorn #1419

Signed-off-by: Phan Le <phan.le@rancher.com>
2020-07-14 21:39:57 -07:00

45 lines
789 B
Bash
Executable File

#!/bin/bash
list="longhorn-images.txt"
images="longhorn-images.tar.gz"
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-i|--images)
images="$2"
shift # past argument
shift # past value
;;
-l|--image-list)
list="$2"
shift # past argument
shift # past value
;;
-h|--help)
help="true"
shift
;;
esac
done
usage () {
echo "USAGE: $0 [--image-list longhorn-images.txt] [--images longhorn-images.tar.gz]"
echo " [-l|--images-list path] text file with list of images. 1 per line."
echo " [-l|--images path] tar.gz generated by docker save."
echo " [-h|--help] Usage message"
}
if [[ $help ]]; then
usage
exit 0
fi
set -e -x
for i in $(cat ${list}); do
docker pull ${i}
done
docker save $(cat ${list} | tr '\n' ' ') | gzip -c > ${images}