本镜像基于Atlassian Confluence,提供快速部署Confluence协作平台的Docker化解决方案。Confluence是 Atlassian 推出的企业级团队协作与知识管理工具,支持文档创作、团队协作、项目管理等功能。本镜像简化了Confluence的部署流程,支持持久化存储、数据库集成、反向代理、集群配置等生产级特性,适用于开发环境快速验证和生产环境稳定运行。
通过以下命令快速启动Confluence实例(非持久化,适用于测试):
bashdocker run -d -p 8090:8090 xalt/confluence
访问地址:http://[Docker主机IP]:8090(若使用macOS旧版boot2docker,需通过boot2docker ip获取主机IP)
使用jwilder/nginx-proxy实现域名访问,需先启动Nginx代理容器,再启动Confluence:
bash# 启动Nginx代理(参考jwilder/nginx-proxy文档) docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy # 启动Confluence并绑定域名 docker run -d -e VIRTUAL_HOST=confluence.yourdomain.tld -e VIRTUAL_PORT=8090 xalt/confluence
bash# 启动PostgreSQL容器 docker run --name mypgdb -p 5432:5432 \ -e POSTGRES_USER=confluence \ -e POSTGRES_PASSWORD=yourpassword \ -e POSTGRES_DB=confluencedb \ -d xalt/postgres # 启动Confluence(持久化存储+连接PostgreSQL) docker run --name myconf \ -v /opt/docker/confluence:/var/atlassian/confluence \ # 持久化数据目录 --link mypgdb:pgdb \ # 链接数据库容器 -d \ -e RAM_MIN=2048 \ # JVM最小内存(MB) -e RAM_MAX=4096 \ # JVM最大内存(MB) -e VIRTUAL_HOST=confluence.yourdomain.tld \ # 绑定域名(若使用Nginx) -p 8090:8090 \ xalt/confluence
创建docker-compose.yml文件:
yamlversion: '3' services: confluence: image: xalt/confluence volumes: - /data/confluence:/var/atlassian/confluence # 持久化数据目录 links: - mysql:db # 链接MySQL容器 environment: - VIRTUAL_HOST=confluence.yourdomain.tld # Nginx反向代理域名 - VIRTUAL_PORT=8090 # 代理端口 - RAM_MIN=2048 # JVM最小内存(MB) - RAM_MAX=8192 # JVM最大内存(MB) - HTTPS=true # 启用HTTPS - PROXY_NAME=confluence.yourdomain.tld # 代理服务器名称(写入server.xml) # NewRelic监控配置(可选) - NEWRELIC_LICENSE=your_newrelic_license - NEWRELIC_APP_NAME=Confluence-Production - NEWRELIC=true restart: always mysql: image: mysql:5.6 volumes: - /data/mysql/conf:/etc/mysql/conf.d # 自定义MySQL配置 - /data/mysqlconfluence:/var/lib/mysql # 持久化MySQL数据 environment: - MYSQL_ROOT_PASSWORD=strong_root_password - MYSQL_DATABASE=confluence - MYSQL_USER=confluence - MYSQL_PASSWORD=strong_confluence_password restart: always
启动服务:
bashdocker-compose up -d
启用Java远程调试(调试端口5005):
bashdocker run -p 8090:8090 -p 5005:5005 \ -e CONF_REMOTE_DEBUG=true \ -e RAM_MIN=2048 \ -e RAM_MAX=4096 \ -d xalt/confluence
| 环境变量 | 说明 | 默认值 | 示例值 |
|---|---|---|---|
TIMEZONE | 容器时区,若设置则更新/etc/localtime | false | Europe/Berlin |
RAM_MIN | JVM最小堆内存(MB) | - | 2048 |
RAM_MAX | JVM最大堆内存(MB) | - | 8192 |
CONF_REMOTE_DEBUG | 启用远程调试 | false | true |
HTTPS | 启用HTTPS,设置后server.xml中scheme为https,proxyPort为443 | false | true |
PROXY_NAME | 反向代理服务器名称(写入server.xml的proxyName属性) | - | confluence.yourdomain.tld |
ACCEPT_COUNT | Tomcat接受队列大小(写入server.xml的acceptCount属性) | - | 50 |
DB_POOL_SIZE | 数据库连接池最大连接数(写入confluence.cfg.xml) | - | 30 |
启动时从远程服务器恢复备份,需设置以下变量:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
BACKUP_HOST | 备份服务器IP或域名 | 192.168.123.123 |
BACKUP_USER | 备份服务器SSH用户名 | root |
BACKUP_PATH | 备份文件路径(远程服务器) | /backup/confluence1 |
BACKUP_KEY_FILE | SSH私钥文件路径(容器内路径,需通过数据卷挂载) | /tmp/id_rsa |
注意:恢复后会自动在CONF_HOME或CONF_HOME_SHARED目录创建DONTSYNC文件,防止重复恢复。
通过JAVA_OPTS设置集群节点名称,启用共享目录:
bashdocker run -e JAVA_OPTS="-Dcluster.node.name=node-1" ... xalt/confluence
此时Confluence会使用CONF_HOME_SHARED作为数据目录(默认使用CONF_HOME)。
导入自定义证书至Java信任库:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
IMPORTCERT | 启用证书导入 | false |
IMPORTPATH | 证书目录(容器内路径,需通过数据卷挂载) | /var/certificates |
通过Liquibase实现数据库独立变更,需设置LIQUIBASE=true,支持以下功能:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LIQUIBASE | 启用Liquibase | false |
LIQUIBASE_RESET | 重置Liquibase校验和,强制重新执行所有变更集 | false |
LIQUIBASE_BASEURL | 设置Confluence基础URL | [***] |
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LIQUIBASE_APPLICATION_LINK_<ID> | 更新应用链接(格式:<旧URL>=<新URL>,<ID>为链接标识) | LIQUIBASE_APPLICATION_LINK_JIRA=[***] |
LIQUIBASE_CROWD_OLD | 旧Crowd URL,需配合以下变量更新Crowd配置 | [***] |
LIQUIBASE_CROWD_NEW_URL | 新Crowd URL | [***] |
LIQUIBASE_CROWD_NEW_APP_NAME | 新Crowd应用名称 | confluence-app |
LIQUIBASE_CROWD_NEW_APP_PASS | 新Crowd应用密码 | strong_password |
设置Confluence登录横幅:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LIQUIBASE_BANNER_CONFIG | 启用横幅配置 | true |
LIQUIBASE_BANNER_TYPE | 横幅类型 | info |
LIQUIBASE_BANNER_TITLE | 横幅标题 | 系统通知 |
LIQUIBASE_BANNER_TEXT | 横幅内容 | 维护时间:23:00-次日1:00 |
替换Confluence内置模板文件(如登录页面、错误页面):
/var/atlassian/confluence/custom_templates;yamlvolumes: - ./custom_templates:/var/atlassian/confluence/custom_templates environment: - CUSTOM_TEMPLATES_ENABLED=true - "CUSTOM_TEMPLATES_FILES=/opt/atlassian/confluence/confluence/login.vm|\ /opt/atlassian/confluence/confluence/errors/notfound.vm"
说明:CUSTOM_TEMPLATES_FILES为模板文件路径列表,用|分隔,需与容器内Confluence文件结构一致。
通过Liquibase配置Miniorange身份提供商:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LIQUIBASE_MINIORANGE_CONFIG | 启用Miniorange配置 | true |
LIQUIBASE_MINIORANGE_CUSTOM_APP_NAME | 身份提供商名称 | Miniorange SSO |
LIQUIBASE_MINIORANGE_CLIENT_ID | 客户端ID | client_*** |
LIQUIBASE_MINIORANGE_CLIENT_SECRET | 客户端密钥 | secret_67890 |
LIQUIBASE_MINIORANGE_SCOPE | 授权范围 | openid email profile |
LIQUIBASE_MINIORANGE_ACCESSTOKEN_END_POINT | Access Token端点 | [***] |
LIQUIBASE_MINIORANGE_AUTHORIZE_END_POINT | 授权端点 | [***] |
LIQUIBASE_MINIORANGE_SINGLE_LOGOUT_URL | 单点登出URL | [***] |
/var/atlassian/confluence目录和数据库数据。atlassian)有读写权限。RAM_MIN和RAM_MAX,建议生产环境至少8GB内存。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429