首先,你需要如下镜像:

镜像

版本

备注

postgres

10.4

数据库

sonarqube

7.1

Sonar主体

docker pull postgres:10.4

docker pull sonarqube:7.1

 

执行如下操作:

 

mkdir -p /data/postgresql/data

docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -v /data/postgresql/data:/var/lib/postgresql/data -d postgres:10.4

mkdir -p /var/lib/postgresql

ln -s /data/postgresql/data/ /var/lib/postgresql/data

mkdir -p /data/sonarqube/data

mkdir -p /data/sonarqube/extensions

docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions sonarqube:7.1

ln -s /data/sonarqube /opt/sonarqube

mkdir -p /opt/sonarqube/extensions/plugins


总体思路是把需要经常用到的文件夹给挂载到数据盘里(数据盘mount在/data目录),然后通过软连接(并不是必要的)使得我们能够像没有使用Docker时候一样访问相应的路径。至于为什么都挂载到/data下,主要是为了方便管理磁盘。

如果你不想使用挂载,可以把所有挂载的部分以及软连接的部分给删除,比如:

docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -d postgres:10.4

docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d sonarqube:7.1

有这两步就行了

 

使用docker ps查看容器运行状态

运行正常的情况下使用

当前主机IP:9000访问Sonar主页面。如果是本机,则通过localhost:9000访问。账号密码默认都是admin。

 

现在,你可以尽情使用SonarQube了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐