首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker上使用k6测试本地托管站点

在docker上使用k6测试本地托管站点
EN

Stack Overflow用户
提问于 2017-10-23 01:51:05
回答 2查看 2.8K关注 0票数 4

我在我的电脑上运行了一个运行在localhost:1235中的应用程序,我正在尝试对它进行负载测试。

我为docker安装了k6容器来测试它,但当然从docker的性质来看,我的容器有一个不同的本地主机。我在试着理解是怎么回事。

我运行以下命令:docker run -it --rm --net=host -v c:/users/k6:/k6 loadimpact/k6 run /k6/script

我在某处读到--net=host不能在windows上工作,对吗?如何找到主机IP?

我试着通过这个教程运行:http://blog.michaelhamrah.com/2014/06/accessing-the-docker-host-server-within-a-container/

我发现172.17.0.1的IP在我的测试中不起作用。

我也尝试添加-p 1235:1235,但它失败了,我猜docker试图绑定这个端口并转发到它。

先谢谢你,查姆

EN

回答 2

Stack Overflow用户

发布于 2020-09-25 18:43:16

在您的k6脚本中,使用url host.docker.internal来访问主机上运行的内容。

例如,访问在主机http://localhost:8080上运行的服务

代码语言:javascript
复制
// script.js
import http from "k6/http";
import { sleep } from "k6";

export default function () {
  http.get("http://host.docker.internal:8080");
  sleep(1);
}

然后,在windows或mac上,可以使用以下命令运行:

代码语言:javascript
复制
$ docker run -i loadimpact/k6 run - <script.js

对于linux,您需要一个额外的标志

代码语言:javascript
复制
$ docker run --add-host=host.docker.internal:host-gateway -i loadimpact/k6 run - <script.js

参考文献:

https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds

  • Mac
票数 5
EN

Stack Overflow用户

发布于 2017-10-24 19:08:49

docker实例中的k6应该能够连接到您主机上的“公共”IP -在您的以太网或Wifi接口上配置的IP。您可以执行ipconfig /all命令来查看所有接口及其IP。

在我的苹果电脑上,我可以这样做:$ python httpserv.py & [1] 7824 serving at port 8000 $ ifconfig en1 en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether b8:09:8a:bb:f7:ed inet6 fe80::148f:5671:5297:fc24%en1 prefixlen 64 secured scopeid 0x5 inet 192.168.0.107 netmask 0xffffff00 broadcast 192.168.0.255 nd6 options=201<PERFORMNUD,DAD> media: autoselect status: active $ echo 'import http from "k6/http"; export default function() { let res = http.get("http://192.168.0.107:8000"); console.log(res.status); };' |docker run -i loadimpact/k6 run -

也就是说,我在主机的端口8000上启动了一个简单的HTTP服务器,然后执行URL镜像,并告诉它访问基于主机上面向外部的物理en1接口的IP地址的k6。在你的例子中,在Windows上,你可以使用ipconfig来找出你的面向外部的IP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46877351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档