使用docker-compose部署SonarQube
sonarqube 安装
1、系统配置,避免启动问题
# 系统配置,避免启动问题
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
2、创建挂载目录
# 创建目录
mkdir -p ~/sonarqube && cd ~/sonarqube
# 创建所有的sonarqube映射文件
mkdir -p ~/sonarqube/postgres && \
mkdir -p ~/sonarqube/data && \
mkdir -p ~/sonarqube/extensions && \
mkdir -p ~/sonarqube/logs && \
mkdir -p ~/sonarqube/conf
# 创建数据库挂载
mkdir -p ~/sonarqube/postgresql &&\
mkdir -p ~/sonarqube/datasql
# 目录设置为 777 权限,避免权限问题
chmod 777 ./*
3、创建 docker-compose.yml 文件
在sonarqube目录下,将以下内如复制到yml文件:vim ~/sonarqube/docker-compose.yml
version: '3'
services:
postgres:
image: postgres
restart: always
container_name: sonarqube_postgres
ports:
- 5432:5432
volumes:
- ~/sonarqube/postgresql/:/var/lib/postgresql
- ~/sonarqube/datasql/:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
networks:
- sonar-network
sonar:
image: sonarqube
restart: always
container_name: sonarqube
depends_on:
- postgres
volumes:
- ~/sonarqube/extensions:/opt/sonarqube/extensions
- ~/sonarqube/logs:/opt/sonarqube/logs
- ~/sonarqube/data:/opt/sonarqube/data
- ~/sonarqube/conf:/opt/sonarqube/conf
ports:
- 9000:9000
environment:
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
networks:
- sonar-network
networks:
sonar-network:
driver: bridge
4、docker-compose 用法
启动:docker-compose up -d
停止:docker-compose down
启动:docker-compose start
停止:docker-compose stop
[root@JenkinsGod sonarqube]# docker-compose up -d
Removing network sonarqube_sonar-network
Creating network "sonarqube_sonar-network" with driver "bridge"
Creating sonarqube_postgres ... done
Creating sonarqube ... done
5、浏览器访问:ip+端口,如:192.168.11.111:9000
管理员账号密码都是:admin
6、安装中文语言包插件等
不过提示失败,这里采用单独下载插件jar包的方式来安装各种插件
上传至该目录:~/sonarqube/extensions/downloads
,然后重启:docker-compose restart
实现的结果是会在~/sonarqube/extensions
目录下新创建一个plugins目录,然后把同级别的downloads目录下的插件jar包给移动到plugins目录下
官方关于插件安装的描述