安装 docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliy
安装 docker compose
sudo apt-get update
sudo apt-get install docker-compose-plugin
验证是否安装成功
docker compose version
配置 sonar-docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
启动
docker-compose -f sonar-docker-compose.yml up -d
停止
docker-compose -f sonar-docker-compose.yml stop
查看日志,排查问题
docker ps -a
docker logs CONTAINER_ID
常见问题
- 启动失败,通过 docker logs 查看日志:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
// 一个进程可以拥有的VMA(虚拟内存区域)的数量,默认是65530,改成 262144。
sudo sysctl -w vm.max_map_count=262144