[UPDATE] - backup restore docker images

This commit is contained in:
Prof Isen 2022-10-25 15:06:19 +02:00
parent 661f3808ec
commit 7129a0849a
5 changed files with 64 additions and 12 deletions

2
.env
View File

@ -2,7 +2,7 @@
# Repository generator
# Version of image
RepoVers=1
RepoVers=2
# Centos Version
#CentOsVersion=centos:7.9.2009
CentOsVersion=oraclelinux:8.6

1
.gitignore vendored
View File

@ -2,4 +2,5 @@ Dockerfile
data/
docker-compose.yml
cible
images

View File

@ -1,3 +1,4 @@
#!/bin/bash
TestEnv() {
Check=$(which $1 2> /dev/null)
@ -34,7 +35,7 @@ LinkESL() {
help () {
echo "
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen/import-image/save-image]
* $(tput setaf 3)image-gen $(tput sgr0): Generate docker image for esl compilator
* $(tput setaf 3)image-repo $(tput sgr0): Generate docker image for repository sync
@ -43,6 +44,8 @@ $0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
* $(tput setaf 4)gen $(tput sgr0): start docker compose and generarte esl
* $(tput setaf 2)run-gen $(tput sgr0): Connect and run bash on instance gen
* $(tput setaf 2)run-repo $(tput sgr0): Connect and run bash on instance repo
* $(tput setaf 6)import-image $(tput sgr0): Import last backuped docker image in ./images/
* $(tput setaf 6)save-image $(tput sgr0): backup docker image in ./images/
"
exit
@ -147,6 +150,36 @@ DockerComposeRun () {
}
DockerSave () {
for Image in $(docker image ls | grep -E "^esl-repo|^esl-gen" | awk '{print $1":"$2}')
do
EslImage=$(echo $Image | cut -d":" -f1)
EslImageVersion=$(echo $Image | cut -d":" -f2)
echo -ne "Save $Image : "
docker save $Image | gzip > $(dirname $0)/images/${EslImageVersion}-$(date +%Y%m%d)_$(echo $Image | sed 's/:/-/g').gz
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
done
}
DockerImport () {
if [[ $(ls -1 images | grep "esl-"| wc -l) -eq 0 ]]
then
echo "Nothing todo ..."
else
for Type in repo gen
do
GetImage=$(ls -1 images | grep $Type |sort -r -n -t"-" -k1,2 | head -n1)
echo -ne "Import $GetImage : "
zcat images/$GetImage | docker load &> /dev/null
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
done
fi
}
#GenAll () {
# DockerGen gen

View File

@ -15,16 +15,34 @@ cd ${Wai}
Exec=$1
[[ -z "${Exec}" ]] && help
[[ "${Exec}" == "image" ]] && GenAll
[[ "${Exec}" == "image-gen" ]] && DockerGen gen
[[ "${Exec}" == "image-repo" ]] && DockerGen repo
[[ "${Exec}" == "link" ]] && LinkESL
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
[[ "${Exec}" == "stop" ]] && DockerStop
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
[[ "${Exec}" == "ps" ]] && DockerPs
#[[ "${Exec}" == "image" ]] && GenAll
#[[ "${Exec}" == "image-gen" ]] && DockerGen gen
#[[ "${Exec}" == "image-repo" ]] && DockerGen repo
#[[ "${Exec}" == "link" ]] && LinkESL
#[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
#[[ "${Exec}" == "stop" ]] && DockerStop
#[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
#[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
#[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
#[[ "${Exec}" == "import-image" ]] && DockerImport
#[[ "${Exec}" == "save-image" ]] && DockerSave
#
case $Exec in
image-gen) DockerGen gen;;
image-repo) DockerGen repo;;
repo) DockerComposeRun repo;;
stop) DockerStop;;
gen) DockerComposeRun gen ;;
run-gen) DockerConnect gen $2;;
run-repo) DockerConnect repo $2;;
import-image) DockerImport;;
save-image) DockerSave;;
*) help
esac
if [[ "${Exec}" == "all" ]]

0
images/.gitkeep Normal file
View File