【问题标题】:Can the docker image of sonarqube use env for configuring any settings?sonarqube 的 docker 镜像可以使用 env 来配置任何设置吗?
【发布时间】:2017-09-15 15:29:37
【问题描述】:

我正在尝试用LDAP 配置这个image

在文档中,他们认为您可以为 jdbc 配置:

  • SONARQUBE_JDBC_USERNAME: sonar.jdbc.username*
  • SONARQUBE_JDBC_PASSWORD: sonar.jdbc.password*
  • SONARQUBE_JDBC_URL: sonar.jdbc.url*

我想知道如何为 LDAP 做同样的事情。

是否可以通过环境名称使用任何设置?

例如:SONAR_LOG_LEVEL=DEBUG

否则容器里面有/opt/sonarqube/conf/sonar.properties 它在那里,我应该如何开始编辑?

【问题讨论】:

    标签: java docker ldap sonarqube sonarqube-scan


    【解决方案1】:

    否则,容器内有 /opt/sonarqube/conf/sonar.properties 是否存在,我应该如何开始编辑?

    不,通常您想要做的可能是将信息添加到您的 docker-compose 文件中。 特别是在“环境”键下的 YML 文件中,您可以添加所需的任何变量。 这里以 docker-compose.yml 文件为例:

    version: "3"
    services:
      registry:
        image: registry:2
        ports:
          - 0.0.0.0:5000:5000
        environment:
          REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
          REGISTRY_STORAGE_DELETE_ENABLED: "true"
        volumes:
          - /data/reg:/var/lib/registry
        hostname: "myhost.registry"
    

    而不是使用 compose 文件来使用您的自定义环境部署堆栈。

    【讨论】:

    • 当我询问sonarqube 时,你为什么要显示 docker registry 图像?
    • 不,我向您展示了一个使用 docker-compose 运行(例如)注册表的 docker 服务定义。 Sonarqube 是一个容器(如注册表),因此我建议您创建自己的撰写文件以使用自定义环境变量启动它。顺便说一句,你可以使用 docker run 并添加 -e VARNAME=value 来归档达到目标
    【解决方案2】:

    我发现的解决方案是获取配置文件(sonar.properties),对其进行参数化并将其放置在 docker-compose.yml 中:

    services:
      sonarqube:
        image: sonarqube
        ports:
          - "9000:9000"
        networks:
          - sonarnet
        environment:
          - sonar.jdbc.url=
        volumes:
          - sonarqube_conf:/opt/sonarqube/conf
          - sonarqube_data:/opt/sonarqube/data
          - sonarqube_extensions:/opt/sonarqube/extensions
          - ./sonar.properties:/opt/sonarqube/conf/sonar.properties
    

    这样,配置文件localy被放置在docker中。

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      实现您想要的另一种方法是创建自己的 sonar.properties 文件并将其与 wrapper.properties 一起复制到容器中。

      在 docker-compose.yml 中

      volumes:
          - ./sonar-properties:/opt/sonarqube/conf
      

      【讨论】:

      • 处理 sonar-properties 文件中的密码和其他敏感数据的最佳方法是什么?我真的不想在 git 中提交它,我宁愿将密码放在环境文件/变量中。
      • @Zaz 嗨,环顾四周后,我想你可以使用 docker-compose 的“env_file”。一些文档在这里docs.docker.com/compose/compose-file/#envfile
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2020-11-04
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多