在 Docker 中运行

官方的 Docker 镜像是 locustio/locust

可以通过以下方式使用它(假设 locustfile.py 文件存在于当前工作目录中):

docker run -p 8089:8089 -v $PWD:/mnt/locust locustio/locust -f /mnt/locust/locustfile.py

在 Windows 上,这个命令有时会导致错误。Windows 用户应该尝试使用以下命令:

docker run -p 8089:8089 --mount type=bind,source=$pwd,target=/mnt/locust locustio/locust -f /mnt/locust/locustfile.py

Docker Compose

下面是一个示例 Docker Compose 配置文件,可以用来启动一个 master 节点和多个 worker 节点:

version: '3'

services:
  master:
    image: locustio/locust
    ports:
     - "8089:8089"
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --master -H http://master:8089

  worker:
    image: locustio/locust
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --worker --master-host master

使用以下命令可以启动一个 master 节点和 4 个 worker 节点:

docker-compose up --scale worker=4

使用 Docker 镜像作为基础镜像

在许多情况下,测试脚本依赖于第三方 Python 包。在这种情况下,你可以使用官方 Locust Docker 镜像作为基础镜像:

FROM locustio/locust
RUN pip3 install some-python-package