OStack程序员社区-中国程序员成长平台

标题: node.js - Docker-从基本镜像覆盖或删除ENTRYPOINT [打印本页]

作者: 菜鸟教程小白    时间: 2022-8-3 10:13
标题: node.js - Docker-从基本镜像覆盖或删除ENTRYPOINT

我正在使用Docker(版本1.12.2,内部版本bb80604)通过Gatling(负载测试工具)+ NodeJS设置一个简单的镜像/容器。因此,我提取了this Docker/Gatling base image并创建了自己的Dockerfile来在其上安装NodeJS。

但是,上面的Docker/Gatling基本镜像已经定义了一个ENTRYPOINT,以立即调用Gatling,然后自动退出容器。看起来像这样:

ENTRYPOINT ["gatling.sh"]

我要实现的目标是:我想运行第二条命令(我自己的NodeJS脚本来解析测试结果),但是到目前为止,我还没有找到解决方案(我尝试覆盖ENTRYPOINT,ENTRYPOINT和CMD,但没有成功)。

这是我当前的Dockerfile的样子:
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 .

这是我用来运行容器的命令:
docker run -i -v "$PWD/results":/opt/gatling/results -v "$PWD":/opt/gatling/git.campmon.com/rodrigot/platform-hps-perf-test gatling-nodejs:v8

这是一旦容器启动我想执行的shellscript(trigger-test-and-parser.sh)(它应该触发Gatling,然后运行我的NodeJS解析器):
gatling.sh -s MicroserviceHPSPubSubRatePerfTest.scala
node publish-rate-to-team-city.js

有什么想法或调整,以便我的容器启动后就可以同时运行这两个命令吗?

非常感谢!



Best Answer-推荐答案


ENTRYPOINT设置为/usr/bin/env。然后将CMD设置为您要运行的代码。

关于node.js - Docker-从基本镜像覆盖或删除ENTRYPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41207522/






欢迎光临 OStack程序员社区-中国程序员成长平台 (http://ostack.cn/) Powered by Discuz! X3.4