@@ -24,15 +24,60 @@ USAGE="Magento Cloud Docker
2424 php 7.2 run a command in a PHP 7.2 container
2525 php 7.3 run a command in a PHP 7.3 container
2626 php 7.4 run a command in a PHP 7.4 container
27+ copy-to copy to container (use --all or specific file/directory)
28+ copy-from copy from container (use --all or specific file/directory)
29+ fix-owns fix ownership to www:www
2730
2831\033[33mOptions:\033[0m
2932 -h show this help text\n"
3033
34+ function fix-owns() {
35+ if [ -z " $1 " ]; then
36+ docker-compose exec -u root -T fpm chown -R www:www /app
37+ else
38+ docker-compose exec -u root -T fpm chown -R www:www /app/" $1 "
39+ fi
40+ }
41+
42+ function copy-to() {
43+ [ -z " $1 " ] && echo " Please specify a directory or file to copy to container (ex. vendor, --all)" && exit
44+
45+ if [ " $1 " == " --all" ]; then
46+ docker cp " ./" " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/
47+ echo " Completed copying all files from host to container"
48+ fix-owns
49+ else
50+ if [ -f " ../$1 " ]; then
51+ docker cp " ./${1} " " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/" $1 "
52+ else
53+ docker cp " ./${1} " " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/" $( dirname " $1 " ) "
54+ fi
55+ echo " Completed copying $1 from host to container"
56+ fix-owns " $1 "
57+ fi
58+ }
59+
60+ function copy-from() {
61+ [ -z " $1 " ] && echo " Please specify a directory or file to copy from container (ex. vendor, --all)" && exit
62+
63+ if [ " $1 " == " --all" ]; then
64+ docker cp " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/ " ./"
65+ echo " Completed copying all files from container to host"
66+ else
67+ if [ -f " $1 " ]; then
68+ docker cp " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/" $1 " " ./$1 "
69+ else
70+ docker cp " $( docker-compose ps -q fpm | awk ' {print $1}' ) " :/app/" $1 " " ./$( dirname " $1 " ) "
71+ fi
72+ echo " Completed copying $1 from container to host"
73+ fi
74+ }
75+
3176if [ ${#@ } -ne 0 ]; then
3277 for arg in " $@ " ; do
3378 if [ " ${arg# " -h" } " = " " ]; then
3479 printf " $USAGE "
35- exit 0;
80+ exit 0
3681 fi
3782 done
3883fi ;
@@ -95,7 +140,7 @@ case "$1" in
95140 version=" $2 "
96141 shift 2
97142 # allow ssh-agent forwarding for composer.json files that need access to private repos
98- if [[ $( uname) = Darwin ]]; then
143+ if [[ $( uname) == Darwin ]]; then
99144 # https://docs.docker.com/docker-for-mac/osxfs/#ssh-agent-forwarding (D4M > 2.2)
100145 export SSH_AUTH_SOCK=" /run/host-services/ssh-auth.sock"
101146 fi
@@ -104,7 +149,17 @@ case "$1" in
104149 --mount " type=bind,src=$SSH_AUTH_SOCK ,target=$SSH_AUTH_SOCK " -e SSH_AUTH_SOCK=" $SSH_AUTH_SOCK " \
105150 " magento/magento-cloud-docker-php:${version} -cli-1.1" " $@ "
106151 ;;
152+ copy-to)
153+ copy-to $2
154+ ;;
155+ copy-from)
156+ copy-from $2
157+ ;;
158+ fix-owns)
159+ fix-owns
160+ ;;
107161 * )
108162 printf " $USAGE "
109- exit 0;
163+ exit 0
164+ ;;
110165esac
0 commit comments