你如何从shell脚本运行函数和variables到docker?
所以我试图找出什么是最好的方法来调用这个函数在我的bash脚本,以便在docker容器中执行。
#!/bin/bash AWS_BUCKET="https://s3-bucket-location.com" AWS_BUCKET_DEV_FILE="devfile.zip" AWS_BUCKET_PIC_FILE="WORDPRESSpics.zip" wordpress_production_S3_download () { cd /tmp/ wget $AWS_BUCKET/$AWS_BUCKET_PIC_FILE mv $AWS_BUCKET_PIC_FILE /var/www/html/wp-content/uploads/2017 cd /var/www/html/wp-content/uploads/2017 unzip $AWS_BUCKET_PIC_FILE rm $AWS_BUCKET_PIC_FILE chown -R www-data:www-data 12/ }
我想在Docker容器中运行这个函数是这样的
docker exec -ti dockerwordpressmaster_mysql_1 bash -c "wordpress_production_S3_download"
但是我明白了
bash:wordpress_production_S3_download:找不到命令
我也试图将该子function放入variables即
test=$(wordpress_production_S3_download) docker exec -ti dockerwordpressmaster_mysql_1 bash -c "$test"
但是函数“variables”testing只在本地机器上执行,而不是像我想的那样在Docker容器中执行。
任何问题的帮助,不胜感激
您需要将包含函数的脚本文件复制到dockerwordpressmaster_mysql_1
容器中,然后执行它。
docker cp wordpress-script.sh dockerwordpressmaster_mysql_1:wordpress-script.js docker exec -ti dockerwordpressmaster_mysql_1 bash -c "source wordpress-script.sh && wordpress_production_S3_download"