安装docker版jira8.0.2
docker镜像使用官方的atlassian/jira-software:8.0.2-jdk8
docker版本需要 >= 20.10.10
数据库不要用默认字符集初始化(默认为Latin1),否则创建项目不正常,建议utf8 & utf8_bin
utf8mb4排序规则不对也在低版本上会报错Caused by: org.ofbiz.core.entity.GenericDataSourceException: SQL Exception while executing the following:SELECT pluginkey, pluginenabled FROM pluginstate (Table 'jira.pluginstate' doesn't exist)
目前字符级建议 <=8.11版utf8 & utf8_bin , >=8.12版 utf8mb4 & utf8mb4_bin
初始化安装
docker-compose.yaml
version: '3'
services:
jira:
container_name: jira
image: atlassian/jira-software:8.0.2-jdk8
ports:
- "8080:8080"
volumes:
#- '${PWD}/jira/dbconfig/dbconfig.xml:/var/atlassian/application-data/jira/dbconfig.xml'
#- '${PWD}/jira/jira-home-data:/var/atlassian/application-data/jira/data'
- '${PWD}/jira/jira-home:/var/atlassian/application-data/jira'
environment:
- DB_TYPE=mysql
- DB_HOST=jira_db
- DB_NAME=jira
- DB_USER=jira_user
- DB_PASSWORD=jira_password
depends_on:
- jira_db
restart: always
jira_db:
container_name: jira_db
image: mysql:5.6
ports:
- "3306:3306"
volumes:
- '${PWD}/mysql/db:/var/lib/mysql'
#- '${PWD}/mysql/conf/my.cnf:/etc/mysql/my.cnf'
- '${PWD}/mysql/init:/docker-entrypoint-initdb.d'
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=jira
- MYSQL_USER=jira_user
- MYSQL_PASSWORD=jira_password
command:
- '--character-set-server=utf8'
- '--collation-server=utf8_bin'
restart: always
使用docker-compose命令启动
docker-compose up -d
启动后访问
http://ip:8080
进行配置
配置中若报驱动不存在,执行如下命令
#容器外下载后复制到容器内,然后重启容器
curl -0 https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar --output mysql-connector-java-5.1.49.jar
docker cp mysql-connector-java-5.1.49.jar jira:/opt/atlassian/jira/lib
docker restart jira
授权
可以申请30天的试用授权
登录:Atlassian Store | 报价与订购表单 | 购买 Atlassian 产品
产品:Jira
许可证类型:Jira Software (Data Center)
服务器ID:输入jira系统配置页面的server id
授权申请后填入jira系统可试用30天。
初始化完成后的配置
上面的jdbc驱动需要做映射,防止容器删除后丢失
执行命令复制
cd jira
mkdir lib
docker cp jira:/opt/atlassian/jira/lib/mysql-connector-java-5.1.49.jar ./lib/mysql-connector-java-5.1.49.jar
修改docker-compose文件 jira增加路径映射
volumes:
- '${PWD}/jira/lib/mysql-connector-java-5.1.49.jar:/opt/atlassian/jira/lib/mysql-connector-java-5.1.49.jar'
误删容器找回
如果误删jira容器,但数据库还在可以通过配置数据库找回,但是附件信息就没有了
在jira的home目录编辑dbconfig.xml 配置成你自己的连接信息
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>mysql</database-type>
<jdbc-datasource>
<url>jdbc:mysql://address=(protocol=tcp)(host=jira_db)(port=3306)/jira?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB</url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<username>jira_user</username>
<password>jira_password</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<validation-query>select 1</validation-query>
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
<pool-test-on-borrow>false</pool-test-on-borrow>
<pool-test-while-idle>true</pool-test-while-idle>
<validation-query-timeout>3</validation-query-timeout>
</jdbc-datasource>
</jira-database-config>
然后重新启动jira容器即可。