我们正在试验 loadimpact - k6 docker 镜像,并且我们希望更长时间地运行任务。
我们面临的问题是,如果 ssh 连接超时,容器就会退出。
命令:
docker run -i loadimpact/k6 run --vus 250 --duration 60m - <script.js
另外,如果我们不传递 -i 或使用 -d,它就不起作用。
我们希望它在后台执行,即使 ssh 超时它也应该可以工作。
答案1
这确实对我有帮助。
Dockerfile:
FROM loadimpact/k6
COPY script.js /
构建命令:
docker build -t load-testing -f Dockerfile .
运行命令:
docker run -d load-testing run --vus 250 --duration 60m script.js
答案2
您必须创建一个仅运行您的代码的新 Docker 映像。我建议您阅读一次 Docker 文档,您所要做的就是创建一个仅运行您的应用程序的新 Docker 映像。
我认为这个 Dockerfile 可以工作:
vi Dockerfile
FROM loadimpact/k6
COPY script.js /script.js
CMD ["run", "script.js","--vus","250","--duration","60m"]
将您自己的脚本和 Dockerfile 复制到一个文件夹中,然后运行以下命令:(这可能是错误的,因为我没有这些文件,而且我无法测试。)
docker build -t yourdesirename .
它将创建一个新的 docker 镜像,其中包含你输入的名称和最新标签,现在你可以在后台运行它
docker run -d yourdesirename:latest