I'm trying to set up a jira cluster, running in docker containers across two VMs. After initial setup, I can see the successful creation of the cluster in the GUI, but when I check the logs of node 2, its trying to connect to the DOCKER IP of node 1, and not the host IP. Here's an example error:
2026-01-07 18:41:03,225+0000 localq-reader-17 INFO [c.a.j.c.distribution.localq.LocalQCacheOpReader] [LOCALQ] [VIA-COPY] Checked exception: RecoverableFailure occurred when processing: LocalQCacheOp{cacheName='com.atlassian.cluster.monitoring.spi.ClusterMonitoring.cache', action=PUT, key=CustomSerializedValue{value=nodeKey{nodeId='jira-2', key='com.atlassian.cluster.monitoring.cluster-monitoring-plugin:system-information'}, isValueSerializable='true', pluginKey='com.atlassian.jira.jira-cluster-monitoring-plugin'}, value == null ? false, replicatePutsViaCopy=true, creationTimeInMillis=1767811258215} from cache replication queue: [queueId=queue_jira1_7_3c177fc9a73549bf63b836dc4124cadc_put, queuePath=/var/atlassian/application-data/jira/localq/queue_jira1_7_3c177fc9a73549bf63b836dc4124cadc_put], failuresCount: 1. Will not retry as this is a cache replicated by value. Removing from queue.
com.atlassian.jira.cluster.distribution.localq.LocalQCacheOpSender$RecoverableFailure: java.rmi.ConnectIOException: Exception creating connection to: X.X.X.X; nested exception is:
That X.X.X.X IP is the docker container IP, but it should be the host IP. I can see why this happening because the /etc/hosts file on the container has the following entry which needs to be removed:
127.0.0. localhost
The problem is that I cannot remove this entry inside of the container. I read a post from a user, who set up a clutser where both nodes(containers) were on the same VM, but I'm trying to get this working across seperate VMs.
Thanks!
Hi @Xavier ,
Potentially, this could help here Deploying enterprise-scale Jira on AWS: a step-by-step guide
I believe that, by default, Docker assigns internal IPs to containers, which are not visible outside the host VM. If Jira advertises its node address as the Docker IP, other nodes will not be able to reach it across VMs.
What I've managed to find is this:
You need to ensure that Jira advertises the host VM's IP address (or a routable address) to the cluster, not the Docker internal IP.
This typically involves:
Running containers with host networking (
--network=host), if possible, so Jira sees the host's IP.Or, explicitly setting the
jira.node.iporjira.node.hostnamesystem property to the host's IP when starting Jira in the container.Ensuring your Docker networking setup (such as bridge, overlay, or custom networks) allows for cross-VM communication and that the advertised address is reachable from all nodes.
This is a bit out of my domain, so maybe you could check Developer community and see if anyone there could give a hand when it comes to this particular problem 👀
Cheers,
Tobi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.