镜像源配置
国内网络环境不好,可以使用 socks5代理
或 配置 国内镜像源
,加速镜像下载速度。
- 配置代理:
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=socks5://172.16.160.13:7890"
Environment="HTTPS_PROXY=socks5://172.16.160.13:7890"
systemctl daemon-reload
systemctl restart docker
sudo systemctl show --property=Environment docker
- 配置 docker 国内镜像源,加速下载,在
/etc/docker/daemon.json
中添加下面配置:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru"
]
}
下载并启动PostgreSQL
docker pull postgres:15.10
创建容器挂载目录:
mkdir -p /data/postgres/{postgresql,data}
编辑数据库启动脚本: vim pgstart.sh
#!/bin/bash
docker run -it --name postgres --privileged \
-v /etc/localtime:/etc/localtime:ro \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=sonarqube \
-p 5432:5432 \
-v /data/postgres/postgresql:/var/lib/postgresql \
-v /data/postgres/data:/var/lib/postgresql/data \
-e TZ=Asia/Shanghai \
--restart always \
-d postgres:15.10
创建新数据库和账号
进入数据库容器添加账号和数据库:
# 进入postgres数据库容器
docker exec -it postgres bash
# 切换到postgres用户
su postgres
# 进入postgres命令交互界面
psql
# 查看所有数据库账号
\du
# 创建新账号和数据库
create user sonar with password 'sonar' Superuser;
create database sonar owner sonar;
# 查看当前所有数据库
\l
安装sonarqube
下载数据库镜像:
docker pull sonarqube:lts-community
创建对应目录:
mkdir -p /data/sonarqube/{data,extensions,logs,datasql,conf}
创建 sonarstart.sh
启动脚本:
#!/bin/bash
docker run -d --restart=always \
--name sonarqube \
--net host \
-p 9000:9000 \
-e SONAR_JDBC_URL=jdbc:postgresql://127.0.0.1:5432/sonar \
-e SONAR_JDBC_USERNAME=sonar \
-e SONAR_JDBC_PASSWORD=sonar \
-v /data/sonarqube/data:/opt/sonarqube/data \
-v /data/sonarqube/extensions:/opt/sonarqube/extensions \
-v /data/sonarqube/logs:/opt/sonarqube/logs \
-v /data/sonarqube/datasql:/var/lib/postgresql/data \
-v /data/sonarqube/conf:/opt/sonarqube/conf \
sonarqube:lts-community || docker start sonarqube
如 sonarqube 容器启动报错:
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log
这个错误是由于 Elasticsearch 在启动时进行了 bootstrap 检查,发现 vm.max_map_count
的值太低,无法正常启动。
编辑 /etc/sysctl.conf
文件:
sudo nano /etc/sysctl.conf
# 在文件末尾添加以下行:
vm.max_map_count=262144
# 保存后,运行以下命令使更改生效:
sudo sysctl -p
中文插件
//进容器下载中文插件
docker exec -it f01266ebf674 bash
cd /opt/sonarqube/extensions/downloads
//中文插件
wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-9.9/sonar-l10n-zh-plugin-9.9.jar
//pmd规则
wget https://github.com/rhinoceros/sonar-p3c-pmd/releases/download/pmd-3.2.0-beta-with-p3c1.3.6-pmd6.10.0/sonar-pmd-plugin-3.2.0-SNAPSHOT.jar
//重启sonar qube
docker restart f01266ebf674
执行代码检查
编写 sonarscan.sh
代码检查脚本:
#!/bin/bash
docker run --rm --net host \
-e SONAR_SCANNER_OPTS="-Dsonar.projectKey=yourcode -Dsonar.sources=/usr/src -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=sqp_311136f0b4ca84873ad17297745bdbee84a5919f" \
-v "/projects/yourcode:/usr/src" \
sonarsource/sonar-scanner-cli:11.1.1.1661_6.2.1
docker SonarQube安装 https://blog.csdn.net/Sari_liu/article/details/140344316