别再手动折腾了!用Docker Compose一键部署Jira 9.12.0,5分钟搞定开发测试环境
5分钟极速部署Jira 9.12.0:Docker Compose全栈解决方案
在敏捷开发团队中,项目管理工具的高效部署直接影响迭代速度。传统手动配置Jira往往需要处理数据库连接、内存调优、数据持久化等复杂步骤,而容器化技术让这一切变得简单可控。本文将演示如何用Docker Compose实现Jira 9.12.0与PostgreSQL数据库的 全栈一键部署 ,特别适合需要快速搭建测试环境的DevOps工程师。
1. 环境准备与架构设计
1.1 硬件资源配置建议
虽然容器化部署对资源需求低于传统方式,但为保证Jira运行流畅,建议配置:
-
测试环境最低配置 :
- CPU:2核(支持突发性能)
- 内存:4GB(JVM分配2GB)
- 存储:50GB SSD(用于数据库和附件)
-
推荐生产级配置 :
- CPU:4核独占
- 内存:8GB(JVM分配4GB)
- 存储:100GB SSD + 定期备份
提示:Docker Compose允许通过
resources限制容器资源,避免单个服务耗尽主机资源
1.2 容器网络规划
采用自定义桥接网络实现服务隔离:
docker network create jira-network
这种设计带来两个优势:
-
容器间通过服务名直接通信(如
jira-db) - 对外只暴露必要的Jira Web端口(默认8080)
2. Docker Compose全栈配置
2.1 编写docker-compose.yml
创建包含以下内容的配置文件:
version: '3.8'
services:
jira-db:
image: postgres:13-alpine
container_name: jira-db
environment:
POSTGRES_DB: jiradb
POSTGRES_USER: jirauser
POSTGRES_PASSWORD: jirapass
volumes:
- jira_db_data:/var/lib/postgresql/data
networks:
- jira-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U jirauser"]
interval: 5s
timeout: 5s
retries: 5
jira:
image: atlassian/jira-software:9.12.0
container_name: jira-app
depends_on:
jira-db:
condition: service_healthy
environment:
ATL_JDBC_URL: "jdbc:postgresql://jira-db:5432/jiradb"
ATL_JDBC_USER: jirauser
ATL_JDBC_PASSWORD: jirapass
JVM_MINIMUM_MEMORY: 2048m
JVM_MAXIMUM_MEMORY: 2048m
volumes:
- jira_data:/var/atlassian/application-data/jira
ports:
- "8080:8080"
networks:
- jira-network
volumes:
jira_db_data:
jira_data:
networks:
jira-network:
external: true
关键配置解析:
- 数据库服务 :使用轻量级PostgreSQL 13镜像,通过健康检查确保依赖顺序
-
JVM内存设置
:根据可用内存调整
JVM_MINIMUM_MEMORY和JVM_MAXIMUM_MEMORY - 数据持久化 :命名卷(volumes)保证数据安全
2.2 一键启动与停止
执行以下命令启动整个栈:
docker-compose up -d
系统将按顺序启动:
- PostgreSQL数据库容器
- Jira应用容器(等待数据库就绪)
停止服务并清理资源:
docker-compose down
注意:默认命令不会删除数据卷,需彻底清理请使用
docker-compose down -v
3. 初始化配置与优化
3.1 首次访问配置
服务启动后(约2-3分钟),通过浏览器访问:
http://服务器IP:8080
按向导完成:
- 选择"设置数据库连接"
- 使用预设的JDBC参数(已在环境变量配置)
- 设置管理员账户
- 选择试用许可证或输入正式License
3.2 性能调优建议
编辑
docker-compose.yml
增加以下参数:
jira:
deploy:
resources:
limits:
cpus: '2'
memory: 4G
reservations:
memory: 2G
调整后需重新部署:
docker-compose up -d --force-recreate
4. 进阶运维技巧
4.1 备份与恢复方案
创建数据库备份脚本
backup.sh
:
#!/bin/bash
docker exec jira-db pg_dump -U jirauser jiradb > jira_backup_$(date +%Y%m%d).sql
恢复数据库:
cat backup_file.sql | docker exec -i jira-db psql -U jirauser jiradb
4.2 版本升级策略
- 停止当前服务:
docker-compose down
-
修改
docker-compose.yml中的镜像版本号 - 重新启动:
docker-compose up -d
4.3 常见问题排查
-
启动超时
:检查数据库健康状态
docker logs jira-db - 内存不足 :调整JVM参数后重建容器
- 许可证问题 :确保系统时间准确
这种基于Docker Compose的部署方式,在最近为某金融科技团队实施时,将环境准备时间从原来的半天缩短到10分钟。特别是在需要频繁重建环境的CI/CD流水线中,只需维护一个版本化的
docker-compose.yml
文件即可实现环境一致性管理。
更多推荐
所有评论(0)