Docker部署k6,一条命令跑起性能测试环境

准备工作:先确认Docker环境

用Docker部署k6的前提是机器上已经安装了Docker。
如果你还没装,可以参考官方文档(Windows/Linux/macOS都有对应安装包)。
安装后打开终端,执行docker version确认版本号。
如果看到Client和Server信息,说明Docker正常运行。

注意:Docker Desktop在Windows/macOS上需要先启动。Linux下如果当前用户不在docker组,命令前加sudo

拉取k6镜像并启动容器

k6官方镜像名为grafana/k6,一行命令就能完成拉取和运行:

docker pull grafana/k6

拉取完成后,可以用最简单的“hello world”测试容器是否正常:

docker run --rm -i grafana/k6 run --stdin <

这条命令会把脚本通过标准输入传给k6容器,容器内立刻执行一次虚拟用户访问。
如果看到类似的检查点和请求耗时输出,说明Docker部署k6成功。

关键点--rm表示容器退出后自动删除,-i保持输入流打开。
实际使用中你更常用卷挂载的方式运行本地脚本。

编写脚本并挂载运行

把测试脚本保存到本地文件,比如test.js

import http from 'k6/http';
import { check, sleep } from 'k6';

export default function () {
  let res = http.get('https://httpbin.org/get');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(0.5);
}

然后通过挂载目录运行:

docker run --rm -i -v $(pwd):/scripts grafana/k6 run /scripts/test.js

这里$(pwd)是当前目录,Linux/macOS下有效;
Windows PowerShell用${PWD}
脚本放在容器内的/scripts下,k6会读取执行。

如果测试目标在宿主机(如localhost),容器内无法直接访问本地网络。
解决方法:用--network=host(Linux)或替换为host.docker.internal(Windows/macOS)。

常见报错与避坑说明

报错1:docker: command not found
原因:Docker未安装或未加入PATH。请重新安装或手动添加路径。

报错2:Cannot connect to the Docker daemon
原因:Docker服务未运行。Linux下执行sudo systemctl start docker,Windows/macOS启动Docker Desktop。

报错3:k6 run - < script.js报错
如果你直接在容器内使用-从stdin读取脚本,请确保脚本内容用EOF包裹正确(参考上文第一条命令)。避免中文乱码或多余空格。

避坑提示

  • 镜像默认使用--rm,容器退出后自动清理。如果想保留容器日志,去掉--rm并加上--name k6-test
  • 脚本路径要写对:挂载后容器内路径是/scripts/你的文件名.js
  • 测试目标地址如果是内网服务,请确保容器网络模式能连通主机或直接使用--network host

验证部署是否成功

运行以下命令做一个简单的基准测试:

docker run --rm -i grafana/k6 run --vus 2 --duration 10s --stdin <

观察输出末尾的http_req_duration平均值和checks部分。
如果全部通过,Docker部署k6就彻底落地了。
你也可以用docker ps -a确认没有残留容器。

如果你的场景需要保存测试报告,可以用--out json=/results/report.json配合挂载目录实现。

小结

通过以上步骤你已经学会了如何用Docker部署k6并运行真实测试。
实际生产环境中,k6适合持续集成、自动化压测,配合InfluxDB+Grafana还能可视化结果。
遇到异常时优先检查Docker运行状态和网络模式,大多数问题都能快速定位。
如果你正在处理Docker部署k6,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
Linux服务器系统安全加固教程
下一篇
宝塔面板Nginx缓存清理全攻略:三步解决网站更新不生效
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意