k6使用docker时在运行时出现装入的卷错误,带有;接受1个参数,收到2个“;

k6使用docker时在运行时出现装入的卷错误,带有;接受1个参数,收到2个“;,docker,docker-volume,k6,Docker,Docker Volume,K6,我尝试在我的CI环境中运行perf测试,使用k6 docker,一个简单的脚本文件就可以了。然而,我想把我的测试分解成多个JS文件。为此,我需要在Docker上装载一个卷,以便导入本地模块 根据我的命令,该卷似乎安装正确 docker run --env-file ./test/performance/env/perf.list -v \ `pwd`/test/performance:/perf -i loadimpact/k6 run - /perf/index.js k6似乎开始了,但立即

我尝试在我的CI环境中运行perf测试,使用k6 docker,一个简单的脚本文件就可以了。然而,我想把我的测试分解成多个JS文件。为此,我需要在Docker上装载一个卷,以便导入本地模块

根据我的命令,该卷似乎安装正确

docker run --env-file ./test/performance/env/perf.list -v \
`pwd`/test/performance:/perf -i loadimpact/k6 run - /perf/index.js
k6似乎开始了,但立即出现了错误

time=“2018-01-17T13:04:17Z”level=error msg=“接受1个参数,收到2个”

在本地,我的文件系统看起来像

/toychicken
    /test
       /performance
          /env
              - perf.list
          - index.js
          - something.js
index.js如下所示

import { check, sleep } from 'k6'
import http from 'k6/http'
import something from '/perf/something'

export default () => {
  const r = http.get(`https://${__ENV.DOMAIN}`)
  check(r, {
    'status is 200': r => r.status === 200
  })
  sleep(2)
  something()
}
您需要删除Docker命令中
run
之后的“-”。“-”指示k6从stdin读取,但在本例中,您希望从文件系统加载主JS文件。这就是为什么它抱怨它收到两个参数,一个是“-”,第二个是index.js的路径(错误消息肯定更具描述性)

您还需要将
.js
添加到“/perf/something”导入中。

您需要删除Docker命令中
run
之后的“-”。“-”指示k6从stdin读取,但在本例中,您希望从文件系统加载主JS文件。这就是为什么它抱怨它收到两个参数,一个是“-”,第二个是index.js的路径(错误消息肯定更具描述性)


您还需要将
.js
添加到“/perf/something”导入中。

太好了,谢谢@robin gustafsson我现在正在运行!太好了,谢谢@robin gustafsson我现在开始跑步了!