本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!Atlassian Confluence Server
Confluence Server是团队创建、组织和讨论工作的平台。它能将常丢失在邮件收件箱和共享网络驱动器中的知识集中到Confluence,便于查找、使用和更新。每个团队、项目或部门都可拥有专属空间,创建会议记录、产品需求、文件列表或项目计划等内容,提升工作效率。
了解更多关于Confluence Server:<[***]>
此Dockerfile的仓库地址:<[***]>
[TOC]
此Docker容器可轻松启动和运行Confluence实例。
注意:此Docker镜像同时以atlassian/confluence和atlassian/confluence-server发布。这两个是相同的镜像,但-server版本已弃用,仅为向后兼容保留;新安装建议使用较短的名称。
使用docker版本 >= 20.10.10
环境变量CONFLUENCE_HOME指定的目录用于存储Confluence数据(及其他内容),建议将主机目录挂载为[数据卷][1]:
此外,若以数据中心模式运行Confluence,需挂载共享文件系统。容器内的挂载点可通过CONFLUENCE_SHARED_HOME配置。
启动Atlassian Confluence Server:
docker run -v /data/your-confluence-home:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 atlassian/confluence
成功启动后,Confluence可通过 http://localhost:8090 访问。
请确保容器分配了足够资源,建议至少2GiB内存。详见[支持的平台][3]。
注:若在Mac OS X上使用docker-machine,请使用open [***] ip default):8090访问。
此Docker镜像通过环境变量配置应用,环境变量用于从模板生成应用配置文件,支持动态创建和销毁容器(如集群配置)。多数部署场景可通过环境变量配置,下文将详细说明所需环境变量。若环境变量无法满足特定部署需求,可通过下文“高级配置”覆盖提供的模板。
如需覆盖Confluence Server的默认内存分配,可通过以下环境变量控制JVM最小堆(Xms)和最大堆(Xmx):
JVM_MINIMUM_MEMORY(默认:1024m)
JVM的最小堆大小
JVM_MAXIMUM_MEMORY(默认:1024m)
JVM的最大堆大小
JVM_RESERVED_CODE_CACHE_SIZE(默认:256m)
JVM的保留代码缓存大小
若Confluence运行在反向代理服务器(如负载均衡器或nginx)后,需指定额外选项使Confluence感知该设置。可通过以下环境变量控制:
ATL_PROXY_NAME(默认:NONE)
反向代理的完全限定主机名。CATALINA_CONNECTOR_PROXYNAME也受支持,用于向后兼容。
ATL_PROXY_PORT(默认:NONE)
访问Confluence时使用的反向代理端口。CATALINA_CONNECTOR_PROXYPORT也受支持,用于向后兼容。
ATL_TOMCAT_PORT(默认:8090)
Tomcat/Confluence监听的端口。根据容器部署方式,可能需要[暴露和发布][docker-expose]此端口。
ATL_TOMCAT_SCHEME(默认:http)
访问Confluence的协议。CATALINA_CONNECTOR_SCHEME也受支持,用于向后兼容。
ATL_TOMCAT_SECURE(默认:false)
若ATL_TOMCAT_SCHEME为'https',设为'true'。CATALINA_CONNECTOR_SECURE也受支持,用于向后兼容。
ATL_TOMCAT_CONTEXTPATH(默认:NONE)
应用的上下文路径。CATALINA_CONTEXT_PATH也受支持,用于向后兼容。
ATL_TOMCAT_ACCESS_LOG(默认:版本<7.11.0为false,版本>=7.11.0为true)
是否启用Tomcat访问日志;设为true启用。注意:日志默认写入容器内部卷(/opt/atlassian/confluence/logs/),会轮转但不会删除,可能无限增长。启用此功能建议将目录挂载为卷,并通过外部工具进行日志收集/清理。
还支持以下Tomcat/Catalina选项,详见<[***]>:
ATL_TOMCAT_MGMT_PORT(默认:8000)ATL_TOMCAT_MAXTHREADS(默认:48)ATL_TOMCAT_MINSPARETHREADS(默认:10)ATL_TOMCAT_CONNECTIONTIMEOUT(默认:20000)ATL_TOMCAT_ENABLELOOKUPS(默认:false)ATL_TOMCAT_PROTOCOL(默认:org.apache.coyote.http11.Http11NioProtocol)ATL_TOMCAT_REDIRECTPORT(默认:8443)ATL_TOMCAT_ACCEPTCOUNT(默认:10)ATL_TOMCAT_DEBUG(默认:0)ATL_TOMCAT_URIENCODING(默认:UTF-8)ATL_TOMCAT_MAXHTTPHEADERSIZE(默认:8192)可设置访问日志保留的最大天数,超过后自动删除。默认值-1表示永不删除旧文件。
ATL_TOMCAT_ACCESS_LOGS_MAXDAYS(默认:-1)如需传递额外JVM参数(如指定自定义信任库),可通过以下环境变量:
JVM_SUPPORT_RECOMMENDED_ARGS示例:
docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/confluence/cacerts -v confluenceVolume:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 atlassian/confluence
更多可配置的设置见:Recognized System Properties
ATL_AUTOLOGIN_COOKIE_AGE(默认:1209600秒,即两周)
“记住我”功能的最大登录保持时间。
CONFLUENCE_HOME
Confluence主目录。可挂载到数据卷;若挂载,需确保用户confluence对其有写权限。详见下文UID映射说明。
ATL_LUCENE_INDEX_DIR
Lucene搜索索引存储目录。默认位于Confluence主目录下的index子目录。
ATL_LICENSE_KEY(Confluence 7.9及以上)
Confluence许可证字符串。提供此参数可跳过Web启动界面的许可证输入步骤。
谨慎使用 CONFLUENCE_LOG_STDOUT [true, false](Confluence 7.9及以上)
Confluence 7.9.0之前版本,日志始终存储在Confluence主目录的logs文件夹中;7.9.0及以上版本,可设为true将日志直接输出到stdout(不生成日志文件),便于通过docker logs <容器ID>查看日志。建议配合日志聚合工具(如AWS Cloudwatch或ELK stack)使用。注意:启用此功能后,Troubleshooting and Support插件生成的支持ZIP包不含应用日志。
可通过环境变量配置数据库,无需通过Web启动界面设置。使用此功能需提供以下所有变量:
ATL_JDBC_URL
数据库URL(数据库特定格式)。
ATL_JDBC_USER
数据库连接用户。
ATL_JDBC_PASSWORD
数据库用户密码。
ATL_DB_TYPE
数据库类型,支持的值:
mssqlmysqloracle12c(仅Confluence 7.3.0及以下)oracle(Confluence 7.3.1及以上,兼容Oracle 12c和19c)postgresql注意:由于许可限制,Confluence不随附MySQL或Oracle JDBC驱动。使用这些数据库需手动复制合适的驱动到容器并重启。例如,将MySQL驱动复制到名为“confluence”的容器:
docker cp mysql-connector-java.x.y.z.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib docker restart confluence
更多信息见Database JDBC Drivers。
以下变量用于数据库连接池配置,为可选参数:
ATL_DB_POOLMINSIZE(默认:20)ATL_DB_POOLMAXSIZE(默认:100)ATL_DB_TIMEOUT(默认:30)ATL_DB_IDLETESTPERIOD(默认:100)ATL_DB_MAXSTATEMENTS(默认:0)ATL_DB_VALIDATE(默认:false)ATL_DB_ACQUIREINCREMENT(默认:1)ATL_DB_VALIDATIONQUERY(默认:"select 1")ATL_DB_PROVIDER_CLASS(默认:com.atlassian.confluence.impl.hibernate.DelegatingHikariConnectionProvider)此Docker镜像可作为[数据中心][4]集群的一部分运行。通过以下属性可将Confluence启动为数据中心节点,无需手动配置集群。详见[Installing Confluence Data Center][5]。
Confluence Data Center支持多种集群方式,详见[配置说明][6]。注意:需确保底层网络支持所选集群类型,具体配置取决于容器管理技术,超出本文档范围。
ATL_CLUSTER_TYPE
集群类型。设置此参数即启用集群模式,支持的值:aws、multicast、tcp_ip。
ATL_CLUSTER_NAME
集群名称(所有节点需相同)。
ATL_PRODUCT_HOME_SHARED
所有Confluence节点的共享主目录。注意:必须挂载真实的共享文件系统到容器内,且确保UID有写权限(详见下文)。
ATL_CLUSTER_TTL
集群数据包的生存时间(主要用于多播集群)。
需从AWS环境获取以下参数:
ATL_HAZELCAST_NETWORK_AWS_IAM_ROLEATL_HAZELCAST_NETWORK_AWS_IAM_REGIONATL_HAZELCAST_NETWORK_AWS_HOST_HEADERATL_HAZELCAST_NETWORK_AWS_SECURITY_GROUPATL_HAZELCAST_NETWORK_AWS_TAG_KEYATL_HAZELCAST_NETWORK_AWS_TAG_VALUEATL_CLUSTER_PEERSATL_CLUSTER_ADDRESSATL_FORCE_CFG_UPDATE(默认:false)
Docker 入口点在首次启动时生成应用配置,后续启动不会重新生成所有配置文件(避免重启或升级时覆盖手动修改)。但在纯环境变量配置的部署(如Kubernetes)中可能需要强制更新,设为true可强制重新生成所有配置文件。Confluence中受影响的文件为confluence.cfg.xml。详见入口点代码了解配置文件生成逻辑。
SET_PERMISSIONS(默认:true)
是否在启动时设置主目录权限。设为false禁用此行为。
ATL_UNSET_SENSITIVE_ENV_VARS(默认:true)
警告:启用此属性后,包含'PASS'、'SECRET'或'TOKEN'关键字的敏感环境变量值将以明文形式暴露在主机OS上,可能被主机上的用户或进程访问。
定义是否清除包含上述关键字的环境变量。入口点脚本执行清除操作。若需保留敏感环境变量,设为false。
ATL_ALLOWLIST_SENSITIVE_ENV_VARS
警告:启用此属性后,敏感环境变量值将以明文形式暴露在主机OS上,可能被主机上的用户或进程访问。
定义逗号分隔的环境变量列表,这些变量包含'PASS'、'SECRET'或'TOKEN'关键字但不被清除。使用^作为 regex 前缀。例如,设为PATH_TO_SECRET_FILE将保留所有以PATH_TO_SECRET_FILE开头的变量。
如前文所述,环境变量配置覆盖大部分场景。若需自定义未覆盖的配置,可通过以下方式修改模板:
config目录下的Jinja模板(文件需带.j2扩展名,可不使用模板变量)。docker build --tag my-confluence-image --build-arg CONFLUENCE_VERSION=6.x.x .),推送至仓库并部署。Dockerfile,以FROM atlassian/confluence:latest开头。COPY指令覆盖提供的模板。两种方式:
/opt/atlassian/etc/下的模板,再启动容器。--volume my-config:/opt/atlassian/etc/挂载覆盖默认模板。默认情况下,Confluence应用以用户confluence运行,UID和GID均为2002。因此,此UID需对共享文件系统有写权限。若需使用其他UID,可选择以下方式:
为确保特定配置文件的严格权限,容器以root用户启动执行引导操作,然后切换到非特权用户confluence运行Confluence。若需以非root用户启动容器,请注意:Tomcat配置、seraph-config.xml(SSO)和confluence-init.properties(覆盖$CONFLUENCE_HOME)的引导操作将跳过,并记录警告日志。仍可通过直接挂载自定义文件(如/opt/atlassian/confluence/conf/server.xml)应用配置。以非root用户启动时,数据库和集群引导操作不受影响。
要升级到新版本的Confluence Server,只需停止当前容器并启动基于新版本镜像的容器:
docker stop confluence docker rm confluence docker run ...(见上文启动命令)
数据存储在主机的数据卷目录中,升级后仍可访问。注意:不要使用-v选项删除容器和卷,以免丢失数据。
评估环境中,可使用内置数据库(数据存储在Confluence Server主目录),备份主机上挂载的数据卷目录(如示例中的/data/your-confluence-home)即可。Docker环境支持Confluence的[自动备份][8],使用外部数据库时可采用[生产备份策略][9]。更多数据恢复和备份信息见:[Site Backup and Restore][10]
Confluence允许20秒的宽限期,等待活动操作完成后再终止。执行docker stop时,建议使用--time标志考虑此宽限期。此外,提供/shutdown-wait.sh脚本,可启动干净关闭并等待进程完成,推荐在支持有序关闭的环境(如Kubernetes的preStop钩子)中使用。
latest标签对应最新的官方Confluence Server版本,即atlassian/confluence:latest使用最新稳定版。也可通过版本标签指定
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429