docker compose部署单机sonarqube使用外部postgresql数据源

301 阅读1分钟

前言:使用外部postgresql时需要先启动服务

一、docker compose文件

  1. vi sonar.yml加入以下内容
services:  
  sonarqube:  
    image: sonarqube:9.9.7-community  
    restart: always  
    read_only: true  
    environment:  
      TZ: 'Asia/Shanghai'
      SONAR_JDBC_URL: jdbc:postgresql://192.168.31.167:5432/sonar  
      SONAR_JDBC_USERNAME: root  
      SONAR_JDBC_PASSWORD: 123456 
    volumes:  
      - /srv/sonarqube/conf:/opt/sonarqube/conf  
      - /srv/sonarqube/data:/opt/sonarqube/data  
      - /srv/sonarqube/extensions:/opt/sonarqube/extensions  
      - /srv/sonarqube/logs:/opt/sonarqube/logs  
      - /srv/sonarqube/temp:/opt/sonarqube/temp  
    ports:  
      - "9000:9000"  
    networks:  
      - sonar-n  
    deploy:  
      resources:  
        limits:  
          cpus: '0.5'    
          memory: 1024m    
networks:  
  sonar-n:  
    driver: bridge

2. 创建对应文件夹并给权限

mkdir /srv/sonarqube/conf \
/srv/sonarqube/data \
/srv/sonarqube/extensions \
/srv/sonarqube/logs \
/srv/sonarqube/temp

chmod -R 777 /srv/sonarqube/

  1. 设置最大虚拟内存映射区域数(不设置会导致内置的es启动失败)
# 临时
sudo sysctl -w vm.max_map_count=262144
# 永久
echo 'vm.max_map_count=262144' >>  /etc/sysctl.conf
sudo sysctl -p

4. 启动容器 docker compose -f ./sonar.yml up -d 5. 默认用户名密码 admin admin,postgresql会生成一个sonar数据库,不需要执行脚本。

image.png

至此单机的sonarqube部署完毕。