1.设置vm.max_map_count
# 方法一
# 重启可能会失效
sysctl -w vm.max_map_count=262144
# 方法二
# /etc/sysctl.conf 文件最后添加一行 vm.max_map_count=262144
# 重启不会失效
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=262144
EOF
note: 不做修改可能会遇到报错
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
2. 准备docker-componse.yml文件
version: "3"
services:
sonarqube:
image: sonarqube:lts-community
depends_on:
- pgdb
environment:
SONAR_JDBC_URL: jdbc:postgresql://pgdb:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- /data/docker/sonarqube/sonarqube_data:/opt/sonarqube/data
- /data/docker/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions
- /data/docker/sonarqube/sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
pgdb:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- /data/docker/sonarqube/postgresql:/var/lib/postgresql
- /data/docker/sonarqube/postgresql_data:/var/lib/postgresql/data
ports:
- "5432:5432"
3. 启动容器
准备挂载目录
mkdir -p /data/docker/sonarqube/sonarqube_data \
/data/docker/sonarqube/sonarqube_extensions \
/data/docker/sonarqube/sonarqube_logs \
/data/docker/sonarqube/postgresql \
/data/docker/sonarqube/postgresql_data
chmod 777 -R /data/docker/sonarqube/
docker-compose -f docker-componse.yml up -d
4. 查看容器状态
docker ps
5. 登录sonarqube
docker部署后
http://IP:9000/
默认用户: admin
默认密码:admin