簡體   English   中英

從Docker執行bash腳本

[英]Execute bash script from docker

我有一個bash腳本,該腳本在docker容器中運行。
這個bash腳本由我的包裝器python腳本調用。 參數通過python腳本傳遞。
Bash腳本中有一行可以執行ssh並獲取結果。
當我運行此腳本時,在運行腳本的主機終端上沒有ssh輸出。

這是我的bash腳本部分

function query_function () {
    test_variable1=`curl -ks "$sp_hostname" | grep ",active" | egrep -v "$excluded_hostnames" | egrep "[.,]$1" | egrep ",$2| $2" | cut -d "," -f 2 | sort`
    for f in `echo $test_variable1`; do
        output=''
        echo 'SERVER:' $f
        ssh -i "key_file" -o "StrictHostKeyChecking no" -q $f "$3"
        echo $'\n'
    done
    exit 0
} 

這就是我調用docker容器運行腳本的方式。

$ docker run -it --rm --net host nnarayanan-wrapper morpheus vm appdb 'command'

1)確認的python腳本調用bash腳本
2)確認bash腳本正在接受傳遞的參數
3)通過主機終端中的bash腳本在docker容器內執行ssh時,我沒有任何輸出

最有可能在您的圖像中沒有curlegrep

因此,我建議您將此添加到Dockerfile中:

...
# Install prerequisites
RUN apt-get update && apt-get install -y curl egrep
...

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM