美文网首页
sonarqube 9.3.0 docker搭建

sonarqube 9.3.0 docker搭建

作者: 苏小小北 | 来源:发表于2022-03-29 23:08 被阅读0次

    docker镜像:(https://hub.docker.com/)

    1. sonarqube:9.3.0-community
    2. postgres:14-alpine

    安装PostgreSQL

    # 14.2有问题
    docker pull postgres:14-alpine
    

    运行PostgreSql

    # -v 挂在到宿主机/data/mnt/postgresql/data
    #(映射到容器/var/lib/postgresql/data,即使容器挂了,不会丢失数据)
    docker run -d --name postgres \
     -e POSTGRES_PASSWORD=123456 \
     -e PGDATA=/var/lib/postgresql/data/pgdata \
     -p 5432:5432 \
     -v /data/mnt/postgresql/data:/var/lib/postgresql/data \
     postgres:14-alpine
    

    进入postgres容器

    docker exec -ti postgres bash
    

    创建用户和数据库

    # 进入容器后,切换到postgres用户
    su postgres
    # 进去psql命令行
    psql
    # 创建用户sonar
    create ROLE sonar superuser PASSWORD '123456' login;
    # 创建数据库sonar
    create DATABASE sonar; 
    

    至此搭建数据库完成,拿到连接信息

    SONARQUBE_JDBC_USERNAME=sonar
    SONARQUBE_JDBC_PASSWORD=123456
    # 10.2.3.4表示本机ip
    SONARQUBE_JDBC_URL=jdbc:postgresql://10.2.3.4:5432/sonar
    

    搭建sonarqube 9.3

    # 拉取镜象
    docker pull sonarqube:9.3.0-community
    

    运行9.3.0-community镜象

    # --security-opt seccomp=/data/mnt/seccomp/profile.json 是为了解决"could not find java in ES_JAVA_HOME",如果没有问题,可以去掉。
    # -v 把sonarqube的插件数据等挂在到宿主机的位置,避免丢失
    docker run -d --name sonarqube \
     --security-opt seccomp=/data/mnt/seccomp/profile.json \
     -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
     -e SONARQUBE_JDBC_USERNAME=sonar \
     -e 'SONARQUBE_JDBC_PASSWORD=123456' \
     -e 'SONARQUBE_JDBC_URL=jdbc:postgresql://10.2.3.4:5432/sonar' \
     -v /data/mnt/sonarqube/data:/opt/sonarqube/data \
     -v /data/mnt/sonarqube/extensions:/opt/sonarqube/extensions \
     -v /data/mnt/sonarqube/logs:/opt/sonarqube/logs \
     -p 9000:9000 sonarqube:9.3.0-community
    

    如果没有问题,访问9000端口就可以启动成功啦!

    FAQ(整理了其中可能会遇到的问题)

    • 如果docker run xxx后,docker ps没看到对应的进程
      就说明启动失败,查看docker容器启动日志地址/var/lib/docker/containers/
    • /docker-entrypoint-initdb.d/': Operation not permitted
      14.2 版本对于低版本的docker有问题,需要升级到14-alpine版本,https://stackoverflow.com/questions/69706677/cannot-start-postgresql-docker-container-docker-entrypoint-initdb-d-oper
    • Elastic search max virtual memory areas vm.max_map_count [65530] is too low, increase to 262144
      elasticsearch 需要申请最大连续使用内存,在宿主机上执行后,重启docker daemon
    sysctl -w vm.max_map_count=262144
    
    wget -P /data/mnt/seccomp/ https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json
    # docker启动命令
    docker run -d --name sonarqube \
     --security-opt seccomp=/data/mnt/seccomp/profile.json \
     -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
     ....
    

    相关文章

      网友评论

          本文标题:sonarqube 9.3.0 docker搭建

          本文链接:https://www.haomeiwen.com/subject/ypnbjrtx.html