gpt4 book ai didi

bash - docker运行后的命令未在bash脚本中执行

转载 作者:行者123 更新时间:2023-12-02 21:01:42 24 4
gpt4 key购买 nike

我有一个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_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.sh two



它启动容器,并在终端中打印spring框架的启动和其他信息。问题是在docker run之后的下两行(执行jmeter测试并将结果存入csv)没有执行。

我究竟做错了什么?

最佳答案

这是因为您的容器仍在前台运行,因此您需要在-d之后添加docker run标志,这样它将分离控制台并在后台运行它。

关于bash - docker运行后的命令未在bash脚本中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60181999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com