amazon-ec2 - 从磁盘安装数据卷时,使用 docker 时,声纳质量配置文件页面无法正确显示。

标签 amazon-ec2 docker docker-compose sonarqube5.1

我正在设置 Sonarqube 服务器并希望使用官方的 dockerized 版本,但是当我将数据文件夹作为卷装载以保留重新启动之间的状态时,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

以及 docker 版本

[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

最佳答案

问题在于 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后它仍然有效,并且您将能够添加其他插件。

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

关于amazon-ec2 - 从磁盘安装数据卷时,使用 docker 时,声纳质量配置文件页面无法正确显示。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31288681/

相关文章:

bash - 管道 docker run 容器 ID 到 docker exec

docker-compose 主机的 ip/hostname

amazon-ec2 - 如何更新负载均衡的多个 EC2 实例?

Docker: `Repository name must match ...` 错误

tcp - EC2 不会接受没有所有 TCP 0.0.0.0/0 的 RDS 传入数据

docker - 使Docker容器成为VPN的一部分

docker - 使用 pycharm 调试登台 docker compose 服务器

docker - 如何在 docker-compose 中自定义 Payara 镜像

amazon-web-services - AWS EC2 实例在 ELB 注册后是 "Out of Service"

amazon-web-services - 从 EC2 读取 S3 存储桶以进行 ML 训练