2

我正在设置 Sonarqube 服务器并想使用官方 dockerised 版本,但是当我将数据文件夹作为卷安装以保留重新启动之间的状态时,QualityProfiles 页面无法显示配置文件。

虽然配置文件被存储,我可以在“比较配置文件”下拉列表中看到它们,并且它们在重新启动时被保留。

我在 Safari 和 Chrome 上试过,行为是一致的。

日志中没有错误,据我所知,没有权限问题,因为正在写入数据。如果不安装数据量,它可以正常工作,但状态不会在重新启动时保持不变,这是一个交易破坏者..

其他有这个问题的人已经设法解决了吗?

这是我的 docker-compose 配置


  sonarqube:
    image: sonarqube:5.1
    links:
     - db:postgres
    ports:
     - "9000:9000"
     - "9092:9092"
     - "5432:5432"
    environment:
     - SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar
     - SONARQUBE_JDBC_PASSWORD=sonar
     - SONARQUBE_JDBC_USERNAME=sonar
    volumes:
      - /data/sonar:/opt/sonarqube/data
    privileged: true
  db:
    image: postgres
    environment:
     - POSTGRES_PASSWORD=sonar
     - POSTGRES_USER=sonar
    volumes:
     - /data/postgres:/var/lib/postgresql/data
    privileged: true

和码头工人版本

[ec2-user@xxxxxxxxx sonar]$ docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.3.3
Git commit (client): 7c8fca2/1.6.2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.3.3
Git commit (server): 7c8fca2/1.6.2
OS/Arch (server): linux/amd64

4

1 回答 1

2

问题是sonarqube图像不使用$SONARQUBE_HOME/extensions文件夹的卷。第一次使用时docker-compose up,sonar 初始化数据库并安装 3 个插件:JAVA、GIT 和 SVN。

第二次运行docker-compose up,数据库已经安装好了,但是$SONARQUBE_HOME/extensions/plugins文件夹是空的。因此不再安装 JAVA、GIT 和 SVN 并sonarqube禁用规则。

docker-compose.yml文件按预期工作。

sonarqube:
  image: sonarqube:5.1.1
  links:
   - db
  ports:
   - "9000:9000"
  environment:
   - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
  volumes:
   - /data/sonar/data:/opt/sonarqube/data
   - /data/sonar/extensions:/opt/sonarqube/extensions
db:
  image: postgres
  environment:
   - POSTGRES_USER=sonar
   - POSTGRES_PASSWORD=sonar
  ports:
   - "5432:5432"
  volumes:
   - /data/postgres:/var/lib/postgresql/data

使用后它仍然有效docker-compose rm,您将能够添加其他插件。

VOLUME应在构建映像的 Dockerfile 中使用指令。我会把它提交给他们。

于 2015-07-09T17:30:09.093 回答