Gatling(Load Testingツール)+ NodeJSを使用して簡単なイメージ/コンテナをセットアップするためにDocker(バージョン1.12.2、ビルドbb80604)を使用しています。だから、私はthis Docker/Gatling base imageを引っ張って、独自のDockerfileを作成してNodeJSをインストールしました。Docker - ベースイメージからENTRYPOINTをオーバーライドまたは削除する
しかし、上記のDocker/Gatlingベースイメージでは、ENTRYPOINTがすでに定義されており、すぐにGatlingを呼び出してから自動的にコンテナを終了します。 (私自身のNodeJSスクリプトは、テスト結果を解析するために)、しかし、私は今のところ解決策を見つけることができませんでした私は、2番目のコマンドを実行したい:私は達成しようとしている何
ENTRYPOINT ["gatling.sh"]
がある:それはこのようになります(ENTRYPOINTとCMDの異なる組み合わせを上書きしようとしましたが、成功しませんでした)。ここで
FROM denvazh/gatling:2.2.3
RUN apk update \
&& apk add -U bash \
&& apk add nodejs=6.7.0-r0
COPY simulations /opt/gatling/user-files/simulations
COPY trigger-test-and-parser.sh /opt/gatling/
RUN chmod +x /opt/gatling/trigger-test-and-parser.sh
ENTRYPOINT ["bash", "/opt/gatling/trigger-test-and-parser.sh"]
私は私のDockerfileに基づいて私のイメージを構築するために使用しているコマンドです:
docker build --no-cache -t gatling-nodejs:v8 .
そして、これは、コマンドIである。ここ
は私の現在のDockerfileがどのように見えるかです「私のコンテナを実行するために使用しては:m
docker run -i -v "$PWD/results":/opt/gatling/results -v "$PWD":/opt/gatling/git.campmon.com/rodrigot/platform-hps-perf-test gatling-nodejs:v8
そして、これは私が好きなシェルスクリプト(trigger-test-and-parser.sh)でありますコンテナが開始されると(それはガトリングをトリガして、私のNodeJSパーサを実行する必要があります)一度実行する:
gatling.sh -s MicroserviceHPSPubSubRatePerfTest.scala
node publish-rate-to-team-city.js
任意のアイデアやひねりので、私は私のコンテナが起動したら、両方のコマンドを実行できますか?
ありがとうございます!
があなたの 'ドッキングウィンドウのrun'は'ガトリング-nodejsで終わる:v7'それはタイプミスでしょうか?私はそれが7の代わりに8で終わると思った。 – user2915097
それは、タイプミスです、申し訳ありません。ただ更新! :) – user2253130
あなたのgatlin.sh 'cmd1を試してみてください。 cmd2;眠る無限 ' – user2915097