这次构建的compose是
- gitlab:latest
- jira:8.1.0
- confluence:7.7.3
- mysql:5.7
- nginx:latest
生产部署考虑gitlab和mysql独立出去,不和atlassian家的这俩服务放一起。
gitlab也不使用这里的mysql服务,比较独立,很吃内存,mysql可以用rds云数据库。
接下来的工作只是构建和破解,用于测试,实际生产部署则按需修改。
我自己的docker的配置是给了i5的3个核心,8G内存,刚开始只给4G内存gitlab起不来。
实际没有其它容器的情况下docker吃掉了我15个G的内存,而且是编译完容器运行的时候,可能更多的是macos的内存使用机制导致的。
准备工作
- 安装docker
- 安装docker-compose
- 下载atlassian-agent-v1.2.3破解工具
- 创建docker-compose项目
1.创建一个文件夹存放
1 |
|
2.在该目录下创建如下文件夹及文件
1 |
|
二、配置Nginx代理
因为走的是docker的network,所以注意转发地址是和docker-compose.yml中的network别名相同,对应server_name的hosts配置这里就不写了。
通过Nginx对外开放一个80做代理,docker的容器不暴露出来。如果不在意这部分,可以抛弃掉Nginx。直接宿主机访问ports映射的端口。
1 |
|
mysql
init.sql
注意
1.jira使用utf8mb4,confluence使用utf8
2.mysql5.7+创建外键需要REFERENCES
权限,5.6不需要
1 |
|
my.cnf
1 |
|
Jira
Dockerfile
这里的内容和Confluence除了目录基本一致。
使用的是cptactionhank这个兄弟在docker hub上的镜像,需要什么版本可以在上面找。
但是不建议修改版本,atlassian家的软件不同版本对环境配置的要求都不一样,涉及到my.cnf
需要再看官方手册配置。
修改版本很大可能导致服务启动起来后报错。
1 |
|
Confluence
Dockerfile
同Jira
1 |
|
docker-compose.yml
1 |
|
编译
执行编译。
1 |
|
初始化Jira和Confluence数据库和用户权限
1.进入mysql容器
1 |
|
2.连接mysql
1 |
|
3.加载sql
1 |
|
破解
建议先执行以下jar包看下可以使用的参数,实际使用主要就是-p
和-s
,Jira和Confluence大同小异
1 |
|
Jira
1 |
|
Jira 插件
1 |
|
Confluence
1 |
|
Confluence 插件
1 |
|
常用命令
1.关闭并删除容器重新创建。如果是想重新build,注意删掉对应data下挂载数据卷的目录,下次build会自动创建。
1 |
|
2.只重启/停止/启动容器
1 |
|
注意事项
我自己的docker的配置是给了i5的3个核心,8G内存,刚开始只给4G内存gitlab起不来。
实际没有其它容器的情况下docker吃掉了我15个G的内存,而且是编译完容器运行的时候,可能更多的是macos的内存使用机制导致的。
1. 内存不够会导致gitlab一直报exit 137
无限重启,加内存即可解决。
2. docker-compose输出done之后服务也是没有办法直接访问的。
3. Jira会出现启动进度条,Confluence会转圈,Gitlab会报错,等Jira启动完毕了,差不多Confluence和Gitlab也就可以访问了。
4. 机器内存和cpu不够不建议一起编译,会起飞。
转载使用注明出处。原文链接 https://heimo-he.github.io/docker/2020/09/22/docker-compose-gitlab-jira-confluence/