gpt4 book ai didi

java - JMeter-docker-java.net.connectexception

转载 作者:行者123 更新时间:2023-12-01 10:02:22 24 4
gpt4 key购买 nike

我正在尝试在 AWS EC2 实例中使用 JMeter 进行分布式负载测试。

我有 1 个主人和 2 个奴隶。都是ubuntu实例。他们都安装了java和jmeter。

我能够在从站中成功执行测试,没有问题。 (当我不使用docker时)(JMeter使用RMI来控制从站)

现在,我正在考虑在从站中使用 docker,因为我可能会添加更多从站。我不想每次都设置从机。所以docker似乎是一个不错的选择。

在 docker 容器中,一切似乎都是正确的,所有必要的端口都已打开。

问题:

每当我使用 docker 容器在从属服务器中运行 jmeter-server 时,如果我尝试从主服务器连接到它,它会抛出 java.net.connectexception connection refused connect <ip address>错误。

如果我从master telnet到slave,就能够连接成功。

我的dockerfile:

FROM ubuntu
RUN apt-get update
RUN apt-get -y install wget
RUN apt-get -y install default-jre
RUN mkdir /jmeter
RUN cd /jmeter/ ; wget http://www.us.apache.org/dist//jmeter/binaries/apache-jmeter-2.13.tgz ; tar -xzf apache-jmeter-2.13.tgz ; rm apache-jmeter-2.13.tgz
ENV JMETER_HOME /jmeter/apache-jmeter-2.13/
ENV PATH $JMETER_HOME/bin:$PATH
EXPOSE 1099 7000 50000
ENTRYPOINT $JMETER_HOME/bin/jmeter-server -Djava.rmi.server.hostname=$LOCALIP
<小时/>

这就是我创建容器的方式

sudo docker run -dit -e LOCALIP='10.11.12.13' -p 7000:7000 -p 1099:1099 -p 50000:50000 "mydockerimg" /bin/bash

我不明白这里发生了什么!我应该如何解决这个问题?

<小时/>

更新:按照@arcticless建议尝试

enter image description here

最佳答案

尝试使用标志 --net=host 运行容器并且不暴露任何端口。它应该有效。 sudo docker run --net=host -dit -e LOCALIP='your_ip' "mydockerimg" /bin/bash

关于java - JMeter-docker-java.net.connectexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com