首先,你需要如下镜像:
镜像 | 版本 | 备注 |
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了。