Docker-Based Confluence Deployment and Configuration

Image Version Selection

Identify the appropriate release tag from the official Atlassian Docker Hub repository. Tags follow the pattern {version}-{jdk} (e.g., 8.5.0-jdk17). For production environments, prefer Long-Term Support (LTS) releases over feature releases to ensure stability and extended support cycles.

Available versions are listed at:

https://hub.docker.com/r/atlassian/confluence-server/tags

Host Environment Preparation

Create a dedicated directory structure on the host to persist application data and configuration outside the container:

export APP_BASE=/opt/atlassian/confluence

mkdir -p ${APP_BASE}/data
mkdir -p ${APP_BASE}/shared
mkdir -p ${APP_BASE}/extensions
chmod -R 777 ${APP_BASE}

Database Driver Provisioning

Confluence requires manual installation of JDBC drivers for external database connectivity. Download the appropriate driver for your database version and stage it in the extensions directory:

# For MySQL 8.0 environments
wget https://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-8.0.33.jar \
  -O ${APP_BASE}/extensions/mysql-driver.jar

Container Initialization

Deploy the Confluence instance with explicit resource allocation and volume mappings:

export IMAGE_TAG=8.5.0-jdk17

docker run -d \
  --name wiki-server \
  --restart unless-stopped \
  -p 8090:8090 \
  -p 8091:8091 \
  -v ${APP_BASE}/data:/var/atlassian/application-data/confluence \
  -e JVM_MINIMUM_MEMORY=2048m \
  -e JVM_MAXIMUM_MEMORY=6144m \
  -e ATL_TOMCAT_CONTEXTPATH="" \
  atlassian/confluence-server:${IMAGE_TAG}

Post-Deployment Configuration

Transfer the database driver into the container's library path and apply custom JVM configurations:

# Install JDBC driver
docker cp ${APP_BASE}/extensions/mysql-driver.jar \
  wiki-server:/opt/atlassian/confluence/lib/

# Optional: Configure custom Java agents or monitoring tools
docker cp wiki-server:/opt/atlassian/confluence/bin/setenv.sh ${APP_BASE}/shared/
echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/agent.jar ${CATALINA_OPTS}"' >> ${APP_BASE}/shared/setenv.sh
docker cp ${APP_BASE}/shared/setenv.sh wiki-server:/opt/atlassian/confluence/bin/

# Restart to apply changes
docker restart wiki-server

After the service initializes, complete setup by navigating to http://localhost:8090 and configuring your external database connection and product license.

Tags: docker confluence atlassian containerization devops

Posted on Thu, 14 May 2026 10:56:59 +0000 by jjoves