1.查看稳定版本的SonarQube,注意7.9之后的版本不在支持Mysql。使用PostgreSQL
Download | SonarQube | Sonar
2.拉取PostgreSQL和SonarQube
docker pull postgres
docker pull sonarqube:9.9-community
community代表社区版
3.在下面的目录下创建docker-compose.yml文件
version: '3.1'
services:db:image: postgrescontainer_name:postgresdb# 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器restart: unless-stopped# 设置与宿主机时间同步volumes:- "/etc/localtime:/etc/localtime:ro"ports:- 5432:5432networks:- sonarnetenvironment:POSTGRES_USER: sonarPOSTGRES_PASSWORD: sonar@123sonarqube:image: sonarqube:9.9-communitycontainer_name: sonarquberestart: unless-stoppedvolumes:- "/etc/localtime:/etc/localtime:ro"depends_on :- dbports:- 59000:9000networks:- sonarnetcommand:- -Dsonar.web.context=/environment:SONARQUBE_JDBC_URL: jdbc:postgresql://db:5432/sonarSONARQUBE_JDBC_USERNAME: sonarSONARQUBE_JDBC_PASSWORD: sonar@123
# 网桥elk -> 方便相互通讯
networks:sonarnet:driver: bridge
4.设置虚拟内存,最少需要262144
vi /etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
sysctl -p
5.启动
docker-compose up -d
6.查看日志
docker logs -f sonarqube
访问sonarqube:http://localhost:59000
默认的账号和密码都是admin