在 docker 上运行的项目上的 k6

问题描述

我正在尝试使用 k6 在我在 docker 上运行的项目上运行一些测试。

我将此添加到我的 docker-compose.yml 中:

  k6:
    image: loadimpact/k6:latest
    command: run /test.js
    volumes:
        - ./tests/test.js:/test.js

当我使用 docker-compose up 启动项目时,它会运行我的测试。

但是后来 k6 容器停止了,我想让它继续运行,这样我就可以做一些像 docker exec -it k6_container run test2.js

如何实现?有没有更简洁的方式来运行测试?

我设法运行了测试,但我必须在我的 PC 上安装 k6,因为我正在与一个团队合作,我想将其添加到 dockerized 项目中。

谢谢

解决方法

您可以docker-compose run 使用备用命令创建一个新容器;例如

docker-compose run --rm k6 run ./test2.js

容器的启动成本并不高,如果您的测试结果写入控制台或绑定挂载目录,那么重用同一个容器或启动一个新容器应该没有区别。

>