写在前面:如果你通过docker安装Jira且启动过,然后你现在又想使用mysql数据库,需要注意
你除了停掉原有容器,还需要删除:
/var/lib/docker/volumes/jiraVolume/_data
下的文件,否则启动后会无法正常使用。注意,目录不能删除,因为启动的时候没创建 = =
docker安装Jira
- docker下载jira镜像:
docker pull atlassian/jira-software:9.4.7-ubuntu-jdk11
如果想要最新版本则下载docker pull atlassian/jira-software
其他版本可以移至docker hub-需要挂梯子获取 - docker启动:
docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 atlassian/jira-software:9.4.7-ubuntu-jdk11
配置MySQL数据库
- 下载驱动包
mysql驱动jar包:下载
这里我用的8,需要用5版本返回上一级页面切换即可,获取jar的方式相同。这里我们下载zip包就行
下载好以后解压,在目录中获取
2. 拷贝文件至容器
- 将mysql的驱动jar上传至服务器,然后将驱动移动或者拷贝到:
/var/lib/docker/volumes/jiraVolume/_data
目录下(如果没有目录可以先启动一次Jira,启动成功以后停掉)- 该目录是jira容器映射的外卷(即该目录和容器中的某个目录是互通的,外面操作文件即容器内操作,达到将文件拷贝到容器内的目的)
- 目标文件移动到指定目录后,进入容器:
docker exec -it 容器ID /bin/bash
- 进入容器后的默认所在目录为:
/var/atlassian/application-data/jira
,然后可以看到该目录下会出现我们在linux服务器中放置在/var/lib/docker/volumes/jiraVolume/_data
目录中的mysql驱动jar - 在容器中,将mysql驱动放置在
/opt/atlassian/jira/lib
目录下:mv /var/atlassian/application-data/jira mysql-connector-j-8.2.0.jar /opt/atlassian/jira/lib
- 退出容器,然后重新启动jira即可:
docker restart 容器ID
- 访问:服务器ip:8080,重新初始化Jira,配置mysql即可
这样就可以在第一次初始化的时候配置mysql数据库了。
最后,如果crowd中也想使用mysql,思路一样,linux中的路径变更为:/var/lib/docker/volumes/crowdVolume/_data
,容器内驱动所放置的目录变更为:/opt/atlassian/crowd/apache-tomcat/lib/
,且我在安装crowd4.2.2版本时,要求数据库驱动版本是8.0.22以下的