xalt/jira本镜像提供了Atlassian JIRA的容器化部署方案,支持多种运行模式,包括基础部署、持久化存储、数据库集成、反向代理配置及集群部署。通过环境变量和配置文件可灵活定制JIRA实例,满足开发测试和生产环境的不同需求。
jira.node.id配置集群节点,使用共享目录bashdocker run -d -p 8080:8080 xalt/jira
OSX用户注意:需先获取boot2docker IP:
bashboot2docker ip
然后通过 http://[Docker主机IP]:8080 访问
bashdocker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
bashdocker run -d -e VIRTUAL_HOST=subdomain.domain.tld -e VIRTUAL_PORT=8080 xalt/jira
bashdocker run --name mypgdb -p 5432:5432 \ -e POSTGRES_USER=testpg \ -e POSTGRES_PASSWORD=testpg \ -e POSTGRES_DB=pgdb \ -d xalt/postgres
bashdocker run --name myjira \ -v /data/confluence:/var/atlassian/atlassian-jira \ --link mypgdb:pgdb \ -d \ -e RAM_MIN=2048 \ -e RAM_MAX=4096 \ -e VIRTUAL_HOST=subdomain.yourdomain.tld \ -p 8080:8080 xalt/jira
bashdocker run -p 8080:8080 -p 5005:5005 \ -e JIRA_REMOTE_DEBUG=true \ -d \ -e RAM_MIN=2048 \ -e RAM_MAX=4096 xalt/jira
yamljira: image: xalt/jira volumes: - /data/[你的目录]:/var/atlassian/jira # 持久化存储 links: - mysql:db # 链接MySQL容器 environment: - TIME_ZONE=Europe/Berlin # 时区设置 - VIRTUAL_HOST=[你的域名] # nginx-proxy域名 - VIRTUAL_PORT=8080 # 代理端口 - RAM_MIN=2048m # 最小内存 - RAM_MAX=8048m # 最大内存 - HTTPS=true # 启用HTTPS代理 - PROXY_NAME=[你的域名] # 服务器代理名 - NEWRELIC_LICENSE=xxxxxxxxxxxxxxxxxxxxxxxx # NewRelic许可(可选) - NEWRELIC_APP_NAME=[应用名] # NewRelic应用名(可选) - NEWRELIC=true # 启用NewRelic(可选) restart: always mysql: image: mysql:5.6 volumes: - /data/mysql/conf:/etc/mysql/conf.d # MySQL配置持久化 - /data/mysqljira:/var/lib/mysql # MySQL数据持久化 environment: - MYSQL_ROOT_PASSWORD=[强密码] # root密码 - MYSQL_DATABASE=jira # 数据库名 - MYSQL_USER=jira # JIRA数据库用户 - MYSQL_PASSWORD=[强密码] # JIRA用户密码 restart: always
TIMEZONE=Europe/Berlin(将更新/etc/localtime)通过以下变量配置启动时从远程服务器恢复备份:
BACKUP_HOST=192.168.123.123BACKUP_USER=rootBACKUP_PATH=/backup/jira1BACKUP_KEY_FILE=/tmp/id_rsaDONTSYNC文件:在JIRA_HOME或JIRA_HOME_SHARED目录下创建DONTSYNC文件可阻止备份恢复。恢复后会自动创建该文件。
-Djira.node.id非"false"时启用集群模式。示例:JAVA_OPTS=-Djira.node.id=node-1(此时使用JIRA_HOME_SHARED作为共享目录)RAM_MIN=2048RAM_MAX=4096JIRA_REMOTE_DEBUG=true(需映射5005端口)PROXY_NAME=test2.domain.comHTTPS=trueDB_POOL_SIZE=30IMPORTCERT=trueIMPORTPATH=/var/certificatesINSTALL_PLUGINS_URLS_V1或INSTALL_PLUGINS_URLS_V2指定插件URLyamlvolumes: - ./custom_templates:/var/atlassian/jira/custom_templates
docker cp):bashdocker cp [容器ID]:/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/templates/plugins/footer/footer.vm ./custom_templates/
yamlenvironment: - CUSTOM_TEMPLATES_ENABLED=true - "CUSTOM_TEMPLATES_FILES=/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/templates/plugins/footer/footer.vm|/opt/atlassian/jira/atlassian-jira/template/standard/text.vm"
多个文件用
|分隔,需指定容器内完整路径
容器启动时会将自定义模板复制到JIRA文件系统,并备份原文件(添加.bak及时间戳后缀)。每次重启会检查文件差异并重新应用。
Liquibase用于管理JIRA数据库变更,通过环境变量启用和配置。
LIQUIBASE=trueLIQUIBASE_RESET=trueLIQUIBASE_BASEURL=[***]更新应用链接URL,变量格式为LIQUIBASE_APPLICATION_LINK_[ID],值为"旧URL=新URL"。示例:
bashLIQUIBASE_APPLICATION_LINK_CONFLUENCE=[***]
更新Crowd集成配置:
设置JIRA横幅:
LIQUIBASE_BANNER_CONFIG=trueLIQUIBASE_REMOVE_MAILSERVER=trueLIQUIBASE_MINIORANGE_CONFIG=true欢迎通过Pull Request贡献代码,或发送邮件至维护者获取仓库访问权限。
如需帮助集成镜像到基础设施或CI流程,请联系:***



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务