我正在尝试使用MacOS在Docker内部使用Gatling测试我的本地主机服务。
我使用以下命令运行Docker
docker run -it -d --rm \
--network="host" \
-v $(PWD)/conf:/opt/gatling/conf \
-v $(PWD)/user-files:/opt/gatling/user-files \
-v $(PWD)/results:/opt/gatling/results \
--name $CONTAINER_NAME $IMAGE_NAME
使用'--host'的Afaik允许从Docker内部使用主机网络。
我的服务在端口9000上运行,所以我的基本URL在加特林,所以我这样定义它:
private val baseUrl = "http://127.0.0.1:9000"
private val httpProtocol = http
.baseUrl(baseUrl)
尽管我不断得到:
AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:9000
我的配置或加特林限制有问题吗?
http://127.0.0.1
更改为host.docker.internal
,它应该可以工作。本质上,host.docker.internal
将返回我们的Docker主机的IP。但是此功能仅在Mac OSX的Docker和Windows的Docker中存在。您可以在此处阅读有关此功能的更多信息:
https://docs.docker.com/docker-for-mac/networking/