首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sonarqube未能创建用户缓存

Sonarqube未能创建用户缓存
EN

Stack Overflow用户
提问于 2020-02-17 18:07:39
回答 1查看 4.3K关注 0票数 1

我正在使用Docker创建一个Sonarqube环境,但是当我运行扫描仪时,出现了一个错误。

我将扫描器直接放入容器中:

代码语言:javascript
运行
复制
PS C:\docker\sonarqube\projects\test> docker exec -it sonarqube /bin/bash
代码语言:javascript
运行
复制
sonarqube@05399e4fa8a6:/home/projects/test$ sonar-scanner

扫描仪配置文件: /usr/lib/sonar-scanner/conf/sonar-scanner.properties

信息:项目根配置文件:/home/ Project /test/sonar-project.properties

信息: SonarQube扫描仪4.2.0.1873

信息:Java11.0.3 AdoptOpenJDK (64位)

信息: Linux 4.9.184-linuxkit amd64

信息:

信息:执行失败

信息:

信息:总时间:0.364秒

信息:最终内存:2米/10米

信息:

错误: SonarQube扫描程序执行过程中的错误

java.lang.IllegalStateException:无法创建用户缓存:/home/..sonar/cache

成本-成本-在org.sonarsource.scanner.api.internal.cache.FileCache.createDir(FileCache.java:147)的比较

成本-成本-在org.sonarsource.scanner.api.internal.cache.FileCache.(FileCache.java:46)的比较

成本-成本-在org.sonarsource.scanner.api.internal.cache.FileCache.create(FileCache.java:52)的比较

成本-成本-在org.sonarsource.scanner.api.internal.cache.FileCacheBuilder.build(FileCacheBuilder.java:48)的比较

成本-成本-在org.sonarsource.scanner.api.internal.JarDownloaderFactory.create(JarDownloaderFactory.java:42)的比较

成本-成本-在org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:68)的比较

成本-成本-在org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:185)的比较

成本-成本-在org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:123)的比较

成本-成本-在org.sonarsource.scanner.cli.Main.execute(Main.java:73)的比较

成本-成本-在org.sonarsource.scanner.cli.Main.main(Main.java:61)的比较

由: java.nio.file.AccessDeniedException: /home/..sonar/cache引起

( java.base/sun.nio.fs.UnixException.translateToIOException(Unknown源)的准准性

( java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown源)的准准性

( java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown源)的准准性

( java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(Unknown源)的准准性

( java.base/java.nio.file.Files.createDirectory(Unknown源)的准准性

( java.base/java.nio.file.Files.createAndCheckIsDirectory(Unknown源)的准准性

( java.base/java.nio.file.Files.createDirectories(Unknown源)的准准性

成本-成本-在org.sonarsource.scanner.api.internal.cache.FileCache.createDir(FileCache.java:145)的比较

.9

下面是我在码头撰写中使用的dockerfile:

代码语言:javascript
运行
复制
FROM sonarqube:latest  

# Switch to root user to be able to install packages.  
USER root  

# Install packages.  
RUN apt-get update  
RUN apt-get install -y vim wget  

# Install sonarqube scanner.  
WORKDIR /usr/src  

RUN wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip  

RUN unzip sonar-scanner-cli-4.2.0.1873-linux.zip  
RUN rm sonar-scanner-cli-4.2.0.1873-linux.zip  
RUN mv sonar-scanner-4.2.0.1873-linux /usr/lib/sonar-scanner  

# Create symbolic link.  
RUN ln -s /usr/lib/sonar-scanner/bin/sonar-scanner /usr/local/bin/sonar-scanner  
ENV SONAR_RUNNER_HOME=/usr/lib/sonar-scanner  

ENV SONAR_USER_HOME=/home/.sonar  

# Switch back to the sonarqube environment.  
WORKDIR $SONARQUBE_HOME  
USER sonarqube  

船坞-组成:

代码语言:javascript
运行
复制
version: '3.7'

services:
    sonarqube:
        build: .
        container_name: sonarqube
        ports:
            - 9000:9000
        networks:
            - sonarnet
        environment:
            - sonar.jdbc.url=jdbc:postgresql://db:5432/sonar
        volumes:
            - ./projects:/home/projects
            - sonarqube_conf:/opt/sonarqube/conf
            - sonarqube_data:/opt/sonarqube/data
            - sonarqube_logs:/opt/sonarqube/logs
            - sonarqube_extensions:/opt/sonarqube/extensions

    db:
        image: postgres:latest
        container_name: sonarqube_database
        networks:
            - sonarnet
        environment:
            - POSTGRES_USER=sonar
            - POSTGRES_PASSWORD=sonar
        volumes:
            - postgresql:/var/lib/postgresql
            - postgresql_data:/var/lib/postgresql/data

networks:
    sonarnet:
        driver: bridge

volumes:
    projects:
    sonarqube_conf:
    sonarqube_data:
    sonarqube_logs:
    sonarqube_extensions:
    postgresql:
    postgresql_data:

我知道这是一个访问问题,但我不明白为什么。

知道为什么会发生这种事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-19 09:34:19

解决了我的问题。在码头文件中:

代码语言:javascript
运行
复制
RUN mkdir /home/.sonar
RUN chmod 777 /home/.sonar
ENV SONAR_USER_HOME=/home/.sonar
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60268228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档