[英]Docker - Jenkins unable to reach sonarqube (via localhost/127.0.0.1:9000)
首先,我知道 StackOverflow 上有很多關於這個問題的類似帖子,我已經嘗試過提供的“解決方案”。 可以使用本地主機 IP 或聲納 Docker IP 作為 ZE6B391A8D2C4D45903DZ3 中的“系統” 但這兩種方法在我的情況下似乎都不起作用。 我哪里配置錯了?
聲納 Docker 命令:
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
Jenkins Docker 命令:
docker run \
--name jenkins-docker \
--rm \
--detach \
--privileged \
--network jenkins \
--network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client \
--volume jenkins-data:/var/jenkins_home \
--publish 3000:3000 \
--publish 2376:2376 \
docker:dind \
--storage-driver overlay2
Docker網絡
配置系統 - “秘密文本”包含我從 SonarQube 獲得的令牌
全局工具配置
流水線腳本
pipeline {
agent any
stages {
stage ('Checkout') {
steps {
git branch:'master', url: 'https://github.com/OWASP/Vulnerable-Web-Application.git'
}
}
stage('Code Quality Check via SonarQube') {
steps {
script {
def scannerHome = tool 'SonarQube';
withSonarQubeEnv('SonarQube') {
sh "${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=OWSAP -Dsonar.sources=."
}
}
}
}
}
post {
always {
recordIssues enabledForFailure: true, tool: sonarQube()
}
}
}
在構建 sonarqube 容器時嘗試使用--network jenkins
。
或者不使用 --network 參數,默認為兩個容器使用bridge
模式
Jenkins 和 Sonarqube 應該是同一個網絡。 然后嘗試使用http://172.17.0.1:9000
或http://sonarqube:9000
如果http://localhost:9000
不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.