提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
升级背景
当前部门内使用的sonar版本为7.8,使用jar形式部署在redhat6.7上,因使用需求需要升级到新版本。根据资料显示,sonar7.9版本开始不再使用mysql,以及使用JDK11。
所以考虑新版本的sonar使用容器方式部署,在系统中安装docker即可。
踩的坑
1、redhat6.7的坑
(1)redhat 6.7 无法直接启动sonar容器,日志报错filter_error:内核版本原因,在启动项中添加es配置sonar.search.javaAdditionalOpts=-Dbootstrap.system_call_filter=false即可。
2、docker 1.7的坑
(1)docker import不支持file参数,仅支持url参数
(2)docker cp containre:/* /* 失败,提示path not specified:docker1.7的bug,在1.8.0中修复
3、操作过程注意事项
(1)关注容器日志,根据日志报错解决问题,报错防火墙、ES配置等
(2)mysql到postgre迁移数据会比较两边数量,所以迁移过程中不要进行sonar检测(半夜迁移)
(3)端口号不要冲突
(4)数据持久化
一、安装postgres10
下载镜像:postgres:10
数据持久化,创建数据卷:
docker volume create postgredata
查看数据卷位置(docker volume --help查看命令):
docker volume inspect postgredata
启动容器,命令示例:
docker run -d --restart always --name postgre10 -p 5432:5