SonarQube Docker 安装 CorruptIndexException:校验和失败
SonarQube Docker Installation CorruptIndexException: checksum failed
我正在尝试创建其中装有 SonarQube 的 docker 容器,但我在第一次编写时遇到此错误:
Caused by: java.util.concurrent.ExecutionException: org.apache.lucene.index.CorruptIndexException: checksum failed (hardware problem?) : expected=f736ed01 actual=298dcde2 (resource=BufferedChecksumIndexInput(NIOFSIndexInput(path="/opt/sonarqube/data/es7/nodes/0/_state/_7w.fdt")))
我尝试使用全新 docker 安装将其安装在新实例上,我什至尝试将其安装在不同的服务器上以排除硬件故障,但我仍然遇到相同的错误。可能是什么原因造成的?
docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
使用image: sonarqube:9.2.4-developer
解决了
如 Docker-Sonarqube 存储库中的 this issue 所述:
当 alpine 基础映像更新到 3.14.5+ 时出现此错误。所以你现在有两个选择:
- 要么回滚Sonarqube 9.2.4(之前版本存在Log4J漏洞)
- Re-build 自己最新的 Sonarqube 图像,alpine 版本设置为 3.14.3(如 this comment 中所述)
如果它 运行 docker 在虚拟机中,请尝试为虚拟机启用嵌套虚拟化。
Link 了解嵌套 virt (https://cloud.google.com/compute/docs/instances/nested-virtualization/overview)
我正在尝试创建其中装有 SonarQube 的 docker 容器,但我在第一次编写时遇到此错误:
Caused by: java.util.concurrent.ExecutionException: org.apache.lucene.index.CorruptIndexException: checksum failed (hardware problem?) : expected=f736ed01 actual=298dcde2 (resource=BufferedChecksumIndexInput(NIOFSIndexInput(path="/opt/sonarqube/data/es7/nodes/0/_state/_7w.fdt")))
我尝试使用全新 docker 安装将其安装在新实例上,我什至尝试将其安装在不同的服务器上以排除硬件故障,但我仍然遇到相同的错误。可能是什么原因造成的?
docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
使用image: sonarqube:9.2.4-developer
如 Docker-Sonarqube 存储库中的 this issue 所述:
当 alpine 基础映像更新到 3.14.5+ 时出现此错误。所以你现在有两个选择:
- 要么回滚Sonarqube 9.2.4(之前版本存在Log4J漏洞)
- Re-build 自己最新的 Sonarqube 图像,alpine 版本设置为 3.14.3(如 this comment 中所述)
如果它 运行 docker 在虚拟机中,请尝试为虚拟机启用嵌套虚拟化。
Link 了解嵌套 virt (https://cloud.google.com/compute/docs/instances/nested-virtualization/overview)