Wpis z mikrobloga

Mam taki oto skrypcik do kopiowania plików do kontenera. Chciałbym go przerobić w taki sposób, że jeżeli wybiorę flagę --all to pliki w kontenerze, które nie są kopiowane, zostaną usunięte. Macie jakiś pomysł?

#!/bin/bash
[ -z "$1" ] && echo "Please specify a directory or file to copy to container (ex. vendor, --all)" && exit

REAL_SRC=$(cd -P "src" && pwd)
if [ "$1" == "--all" ]; then
docker cp "$REAL_SRC/./" "$(docker-compose ps -q phpfpm|awk '{print $1}')":/var/www/html/
echo "Completed copying all files from host to container"
bin/fixowns
bin/fixperms
else
if [ -f "$REAL_SRC/$1" ]; then
docker cp "$REAL_SRC/${1}" "$(docker-compose ps -q phpfpm|awk '{print $1}')":/var/www/html/"$1"
else
docker cp "$REAL_SRC/${1}" "$(docker-compose ps -q phpfpm|awk '{print $1}')":/var/www/html/"$(dirname "$1")"
fi
echo "Completed copying $1 from host to container"
bin/fixowns "$1"
bin/fixperms "$1"
fi

#docker #devops
  • 3
  • Odpowiedz
@VintageRock: Możesz użyć polecenia mv bezpośrednio na filesystemie, pomijając api dockera do operacji na plikach. (np: /proc/PID/root albo /var/lib/docker/overlay2/; docker inspect twoim przyjacielem )
  • Odpowiedz