从Docker内部的加特林模拟连接到本地主机

问题描述 投票:0回答:1

我正在尝试使用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

我的配置或加特林限制有问题吗?

docker localhost gatling connection-refused
1个回答
0
投票
将主机地址从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/

https://docs.docker.com/docker-for-windows/networking/

© www.soinside.com 2019 - 2024. All rights reserved.