Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Jira Clustering In Docker Containers

Xavier
January 8, 2026

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! 

1 answer

0 votes
Tomislav Tobijas
Community Champion
January 13, 2026

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.ip or jira.node.hostname system 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

Xavier
January 13, 2026

Hey Tomislav

I ended up resolving this. I was missing an environment variable  😅

Like Tomislav Tobijas likes this
Tomislav Tobijas
Community Champion
January 13, 2026

Hah, nice @Xavier 
Sometimes it's about these simple things 😅

Thanks for sharing the resolution :)

Suggest an answer

Log in or Sign up to answer