xalt/crowd本镜像用于快速部署Atlassian Crowd应用。Atlassian Crowd是一款企业级身份管理工具,提供集中式用户认证、授权和单点登录(SSO)功能,支持与Jira、Confluence等Atlassian产品及第三方应用集成。本Docker镜像简化了Crowd的部署流程,支持多种环境配置,包括持久化存储、数据库集成、反向代理和监控集成等。
通过以下命令快速启动Crowd服务,默认暴露8090端口:
bashdocker run -d -p 8090:8090 goellnerit/crowd-docker
访问方式:
在浏览器中输入 http://[Docker主机IP]:8090。
boot2docker ip 命令获取Docker主机IP。结合jwilder/nginx-proxy实现自定义域名访问,需先启动Nginx代理容器,再启动Crowd并指定虚拟主机:
bash# 启动Nginx代理(参考jwilder/nginx-proxy文档) docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy # 启动Crowd并关联代理 docker run -d -e VIRTUAL_HOST=subdomain.domain.tld -e VIRTUAL_PORT=8090 goellnerit/crowd-docker
说明:VIRTUAL_HOST 指定访问域名,VIRTUAL_PORT 对应Crowd服务端口(默认8090)。
bashdocker run --name yourmysql \ -v /data/mysql/conf:/etc/mysql/conf.d \ # 挂载MySQL配置 -v /data/mysql/data:/var/lib/mysql \ # 挂载MySQL数据目录(持久化) -e MYSQL_ROOT_PASSWORD=[yourpasswordhere] \ # 设置MySQL root密码 -d mysql:latest
用于初始化Crowd数据目录权限:
bashdocker run -u root --name data-jira \ -v /dockerData/crowdHome:/var/local/atlassian/crowd \ # 挂载Crowd数据目录 goellnerit/crowd-docker chown -R daemon /var/local/atlassian/crowd
bashdocker run \ -v /data/crowd:/var/local/atlassian/crowd \ # 挂载持久化数据目录 --link yourmysql:db \ # 关联MySQL容器(别名db) -d \ -e RAM_MIN=2048 \ # JVM最小内存(MB) -e RAM_MAX=4096 \ # JVM最大内存(MB) -e VIRTUAL_HOST=subdomain.yourdomain.tld \ # 虚拟主机域名(若使用Nginx代理) goellnerit/crowd-docker
启用远程调试功能,暴露调试端口(默认5005):
bashdocker run \ -p 8090:8090 \ # Crowd服务端口 -p 5005:5005 \ # 远程调试端口 -e CONF_REMOTE_DEBUG=true \ # 启用远程调试 -d \ -e RAM_MIN=2048 \ -e RAM_MAX=4096 \ goellnerit/crowd-docker
| 环境变量名 | 描述 | 示例值 |
|---|---|---|
RAM_MIN | JVM初始内存大小(MB) | 2048 |
RAM_MAX | JVM最大内存大小(MB) | 4096 |
VIRTUAL_HOST | 虚拟主机域名(用于Nginx反向代理) | crowd.yourdomain.tld |
VIRTUAL_PORT | 反向代理目标端口(Crowd服务端口) | 8090 |
HTTPS | 是否启用HTTPS(需配合PROXY_NAME) | true |
PROXY_NAME | HTTPS代理域名(添加到server.xml配置) | crowd.yourdomain.tld |
CONF_REMOTE_DEBUG | 是否启用远程调试 | true |
NEWRELIC | 是否启用NewRelic监控 | true |
NEWRELIC_LICENSE | NewRelic授权密钥 | xxxxxxxxxxxxxxxxxxxxx |
NEWRELIC_APP_NAME | NewRelic应用名称 | Crowd-Production |
以下是使用Docker Compose部署Crowd(含MySQL数据库)的完整示例:
yamlversion: '2' services: crowd: image: goellnerit/crowd-docker volumes: - /data/crowdHome:/var/atlassian/crowd # 持久化Crowd数据目录 links: - mysql:db # 关联MySQL服务(别名为db) environment: - VIRTUAL_HOST=crowd.yourdomain.tld # Nginx代理域名(若使用) - VIRTUAL_PORT=8090 # 代理目标端口 - RAM_MIN=2048 # JVM初始内存 - RAM_MAX=8048 # JVM最大内存 - HTTPS=true # 启用HTTPS - PROXY_NAME=crowd.yourdomain.tld # HTTPS代理域名 - NEWRELIC=true # 启用NewRelic监控 - NEWRELIC_LICENSE=xxxxxxxxxxxxxxxxxxxxx # NewRelic授权密钥 - NEWRELIC_APP_NAME=Crowd-Production # NewRelic应用名称 restart: always # 容器退出时自动重启 mysql: image: mysql:5.6 volumes: - /data/mysql/conf:/etc/mysql/conf.d # MySQL配置目录 - /data/mysql/data:/var/lib/mysql # MySQL数据持久化目录 environment: - MYSQL_ROOT_PASSWORD=your_strong_password # MySQL root密码 - MYSQL_DATABASE=crowd # 初始化Crowd数据库 - MYSQL_USER=crowduser # Crowd数据库用户 - MYSQL_PASSWORD=crowd_password # Crowd用户密码 restart: always # 容器退出时自动重启
使用方法:将上述内容保存为docker-compose.yml,执行docker-compose up -d启动服务。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务