我正在使用本地计算机(使用Windows 10)中的Docker桌面从quay.io部署Docker中的ActiveMQ Artemis。
我发出以下命令以启动最新映像:
docker run -e AMQ_USER=admin -e AMQ_PASSWORD=admin -p8161:8161 -p61616:61616 -p5672:5672 --rm --name artemis quay.io/artemiscloud/activemq-artemis-broker
注:dev.latest标记不可用,因此使用了latest标记。
Docker容器中的ActiveMQ Artemis示例成功启动,我能够登录到Web控制台:
...
2022-06-18 20:08:26,820 INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
2022-06-18 20:08:26,821 INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.22.0 [broker, nodeID=68f4db2b-ef42-11ec-b609-0242ac110002]
2022-06-18 20:08:27,607 INFO [org.apache.activemq.hawtio.branding.PluginContextListener] Initialized activemq-branding plugin
2022-06-18 20:08:27,746 INFO [org.apache.activemq.hawtio.plugin.PluginContextListener] Initialized artemis-plugin plugin
2022-06-18 20:08:28,414 INFO [io.hawt.HawtioContextListener] Initialising hawtio services
2022-06-18 20:08:28,438 INFO [io.hawt.system.ConfigManager] Configuration will be discovered via system properties
2022-06-18 20:08:28,443 INFO [io.hawt.jmx.JmxTreeWatcher] Welcome to Hawtio 2.14.2
2022-06-18 20:08:28,459 INFO [io.hawt.web.auth.AuthenticationConfiguration] Starting hawtio authentication filter, JAAS realm: "activemq" authorized role(s): "admin" role principal classes: "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"
2022-06-18 20:08:28,480 INFO [io.hawt.web.auth.LoginRedirectFilter] Hawtio loginRedirectFilter is using 1800 sec. HttpSession timeout
2022-06-18 20:08:28,520 INFO [io.hawt.web.proxy.ProxyServlet] Proxy servlet is disabled
2022-06-18 20:08:28,539 INFO [io.hawt.web.servlets.JolokiaConfiguredAgentServlet] Jolokia overridden property: [key=policyLocation, value=file:/home/jboss/broker/etc/jolokia-access.xml]
2022-06-18 20:08:28,788 INFO [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://172.17.0.2:8161
2022-06-18 20:08:28,789 INFO [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://172.17.0.2:8161/console/jolokia
2022-06-18 20:08:28,790 INFO [org.apache.activemq.artemis] AMQ241004: Artemis Console available at http://172.17.0.2:8161/console
2022-06-18 20:14:28,681 INFO [io.hawt.web.auth.LoginServlet] Hawtio login is using 1800 sec. HttpSession timeout
2022-06-18 20:14:30,401 INFO [io.hawt.web.auth.keycloak.KeycloakServlet] Keycloak integration is disabled
2022-06-18 20:14:34,273 INFO [io.hawt.web.auth.LoginServlet] Logging in user: admin
我无法查看消费者、生产者、会话、队列等标记。
我知道我们需要修改jolokia-access.xml
中的IP并重新启动,但如果在Docker运行命令中没有--rm
,我无法编辑映像中docker exec -it artemis bash
内的文件并重新启动它。
在jolokia-access.xml
中是否有任何环境变量可以禁用cors或strict?
下面是我在http://localhost:8161/console
上看到的内容:
日志显示控制台在http://172.17.0.2:8161/console
可用。但是,这是不可访问的,因为Docker是完全不同的网络。当我尝试访问它时,我得到以下消息:
This site can’t be reached 172.17.0.2 took too long to respond
当我访问端点http://localhost:8161/console/jolokia
时,我得到消息:
{ error_type: "java.lang.Exception", error: "java.lang.Exception : Origin null is not allowed to call this agent", status: 403 }
3条答案
按热度按时间qnakjoqk1#
为了绕过码头上的犹太人,
下面是我遵循的步骤,
default.conf
复制到本地系统default.conf
文件;
。http://localhost:80/console
来访问ArtemisMQ页面。Refered How to set nginx reverse proxy blog
附加注解:
我用来验证的
curl
命令。gkn4icbw2#
我解决了创建一个自定义脚本launch.sh来覆盖图像
quay.io/artemiscloud/activemq-artemis-broker
中的启动器,并禁用CORS限制以在Docker上运行Web控制台。egdjgwm83#
ArtemisCloud代理容器出于安全原因限制对容器网络的访问,但Docker Desktop for Windows不支持host networking driver。
您可以覆盖默认的代理配置,在
/home/jboss/broker/etc
上装载您自己的etc
文件夹,即Docker使部署微服务应用程序变得非常容易,但它对生产环境有一些限制。我想看看ArtemisCloud.io运营商,它提供了一种在Kubernetes上部署Apache ActiveMQ Artemis Broker的方法。