Tengo una base de imagen acoplable en Tomcat 7. Mi aplicación web inicia una instancia de ActiveMQ. Para construir el contenedor, agrego la siguiente configuración docker run .... -p 61616:61616 ...
Puedo ver la configuración en el comando Docker Inspect:
"Ports": { "5005/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8091" } ], "61616/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "61616" } ], "8080/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8090" } ] },Dentro del contenedor si ejecuto:
servidor local telnet 61616
Puedo conectarme a la instancia de ActiveMQ:
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ▒ActiveMQTcpNoDelayEnabledSizePrefixDisabled CacheSizeStackTraceEnabled CacheEnabledTightEncodingEnabledMaxInactivityDurationu0 MaxInactivityDurationInitalDelay'Desde mi host no puedo:
Trying ::1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host.Busco el puerto con netstat y está disponible:
netstat-nao
tcp6 0 0 :::61616 :::* LISTEN 26503/docker-proxy off (0.00/0/0) tcp6 0 0 :::8090 :::* LISTEN 26511/docker-proxy off (0.00/0/0) tcp6 0 0 :::8091 :::* LISTEN 26519/docker-proxy off (0.00/0/0)Si trato de hacer telnet al otro puerto, puedo conectarme. ¿Qué me estoy perdiendo?
Resolví este problema configurando redes activeMQ con ip 0.0.0.0 Normalmente la ip era 127.0.0.1 y sin dockerizarla, esto funcionó. Pero dentro de la ventana acoplable no
Esta es mi configuración spring jms (que usa activeMQ)
<amq:broker brokerName="${local.broker.name}" id="broker" persistent="false" deleteAllMessagesOnStartup="true" enableStatistics="false" useLoggingForShutdownErrors="true"> <amq:transportConnectors> <amq:transportConnector uri="nio://${local.broker.ip}:${local.broker.port}?jms.useAsyncSend=true?jms.useCompression=true" disableAsyncDispatch="false" /> <amq:transportConnectors> <amq:broker>la aplicación.propiedades fue
local.broker.name=broker local.broker.ip=127.0.0.1 local.broker.port=61617lo cambié con
local.broker.name=broker local.broker.ip=0.0.0.0 local.broker.port=61617