我已经创建了 dockerfile。
FROM ubuntu:latest
RUN apt-get update && apt-get -y upgrade
RUN apt-get -y install curl
RUN apt-get -y install default-jre
RUN curl -O http://archive.apache.org/dist/activemq/5.16.0/apache-activemq-5.16.0-bin.tar.gz
RUN mkdir -p /opt/apache/activemq
RUN tar xvzf apache-activemq-5.16.0-bin.tar.gz -C /opt/apache/activemq
WORKDIR /opt/apache/activemq/apache-activemq-5.16.0/bin
VOLUME /opt/apache/activemq/apache-activemq-5.16.0/conf
RUN echo './activemq start && tail -f /opt/apache/activemq/apache-activemq-5.16.0/data/activemq.log' > start.sh
# Admin interface
EXPOSE 8161
# Active MQ's default port (Listen port)
EXPOSE 61616
CMD ["/bin/bash", "./start.sh"]
我创建了一个像这样的docker容器
docker run --name activemq -p 8161:8161 -p 61616:61616 temp-activemq:5.16.0
我尝试按如下方式运行管理控制台
http:://localhost:8161/admin/
http://<IP of the Container>:8161/admin/
他们都不起作用
在容器外部,我安装了 activeMQ 并尝试运行管理控制台,它起作用了。谁能帮我指点一下如何解决这个问题?
我解决了上述问题
docker run --rm -d --network host --name activemq temp-activemq:5.16.0
但是,我仍在研究为什么端口转发不起作用?
我遇到过同样的问题。在 AMQ 5.16.0 中,他们更新了 Web UI 的 jetty.xml 以使用 127.0.0.1 而不是 0.0.0.0!
我通过更新 jetty.xml 修复了它
在jetty.xml中的“org.apache.activemq.web.WebConsolePort”下更新-->
property name="host" value="127.0.0.1"
to
property name="host" value="0.0.0.0"
您需要在 docker 映像中复制并覆盖此文件,它应该可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)