docker运行后的命令不';不能在bash脚本中执行
我有一个bash脚本,如下所示:docker运行后的命令不';不能在bash脚本中执行,bash,docker,Bash,Docker,我有一个bash脚本,如下所示: #!/bin/bash if [ $1 = "first" ] then cd /Users/sulekahelmini/Documents/fyp/fyp_work/demo/target && docker build . -t suleka96/factorial fi docker run --rm --name factorialorialContainer -p 8080:8080 -e JAVA_O
#!/bin/bash
if [ $1 = "first" ]
then
cd /Users/sulekahelmini/Documents/fyp/fyp_work/demo/target && docker build . -t suleka96/factorial
fi
docker run --rm --name factorialorialContainer -p 8080:8080 -e JAVA_OPTIONS="$(cat /Users/sulekahelmini/Documents/fyp/fyp_work/MLscripts/flags.txt)" suleka96/factorial:latest
sleep 3
#run test
cd /Users/sulekahelmini/Documents/fyp/apache-jmeter-5.2.1/bin && sh jmeter -n -t /Users/sulekahelmini/Documents/fyp/jmeter_scripts/factorial.jmx -l /Users/sulekahelmini/Documents/fyp/fyp_work/MLscripts/jmeter_results.jtl
#convert result to csv
cd /Users/sulekahelmini/Documents/fyp/apache-jmeter-5.2.1/bin && ./JMeterPluginsCMD.sh --generate-csv /Users/sulekahelmini/Documents/fyp/fyp_work/MLscripts/agg_test.csv --input-jtl /Users/sulekahelmini/Documents/fyp/fyp_work/MLscripts/jmeter_results.jtl --plugin-type AggregateReport
docker stop factorialorialContainer
当我使用以下命令运行此脚本时:
sudo./microwise.shtwo
它启动容器并在终端中打印spring框架的开始和其他信息。问题是docker运行后的下两行(执行jmeter测试并将结果输入csv)没有执行
我做错了什么?这是因为您的容器仍在前台运行,因此您需要在
docker run
之后添加-d
标志,以便它将分离控制台并在后台运行。这是因为您的容器仍在前台运行,因此,您需要在docker run
之后添加-d
标志,这样它将分离控制台并在后台运行。@sulekha_28使用-d
选项docker run--rm--name factorialorialContainer-p 8080:8080-d-e JAVA_选项在后台运行docker=”$(cat/Users/sulekahelmini/Documents/fyp/fyp\u work/MLscripts/flags.txt)“suleka96/factorial:latest
@sulekha\u 28使用-d
选项docker run--rm--name factorialcontainer-p8080:8080-d-e JAVA\u OPTIONS=“$(cat/Users/sulekahelmini/Documents/fyp/fyp\u work/MLscripts/flags.txt)”在后台运行dockersuleka96/factorial:最新版本