2017-12-26 11 views
0

ので、私はそのように私のbashスクリプトでこの関数を呼び出すための最良の方法は、ドッキングウィンドウコンテナ内で実行されるものをうまくしようとしています。私のドッキングウィンドウコンテナにこの機能を実行するために考えシェルスクリプトから関数と変数をドッカーにどのように実行しますか?

#!/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 exec -ti dockerwordpressmaster_mysql_1 bash -c "wordpress_production_S3_download" 

のようなものですが、私は

bashの取得:wordpress_production_S3_download:コマンド

が見つかりませんがまた、関数を変数にサブサイトしようとしましたすなわち

test=$(wordpress_production_S3_download) 

docker exec -ti dockerwordpressmaster_mysql_1 bash -c "$test" 

が、私が望むように機能「変数」テストは、ローカルマシン上ではなくドッカーコンテナ内で実行されます。

問題とすべてのヘルプは非常にあなたがdockerwordpressmaster_mysql_1容器に関数を含むスクリプトファイルをコピーし、それを実行する必要があり

答えて

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" 
+0

ありがとう、ありがとうありがとう – user3700919

+1

@ user3700919この回答に「承認済み」とマークすることを忘れないでください。 – Alkaline

関連する問題