【问题标题】:k6 using docker with mounted volume errors on run, with "accepts 1 arg(s), received 2"k6 使用 docker,运行时安装卷错误,“接受 1 个参数,收到 2 个”
【发布时间】:2018-01-17 13:16:54
【问题描述】:

我正在尝试使用 k6 docker 在我的 CI 环境中运行 perf 测试,并且一个简单的单个脚本文件可以正常工作。但是,我想将我的测试分解为多个 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="accepts 1 arg(s), received 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 docker-volume k6


    【解决方案1】:

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

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

    【讨论】:

    • 太好了,谢谢@robin-gustafsson 我现在可以开始运行了!
    猜你喜欢
    • 2023-04-01
    • 2021-12-30
    • 1970-01-01
    • 2017-07-09
    • 2013-03-26
    • 1970-01-01
    • 2016-02-28
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多