ERROR: Sonar server 'http://localhost:9000' can not be reached

Guy Salton picture Guy Salton · Aug 19, 2015 · Viewed 98.7k times · Source

when running the following command: cmd /c C:\sonar-runner-2.4\bin\sonar-runner.bat

(sonar runner is installed on the build machine) i get the following errors:
ERROR: Sonar server 'http://localhost:9000' can not be reached
ERROR: Error during Sonar runner execution
ERROR: java.net.ConnectException: Connection refused: connect
ERROR: Caused by: Connection refused: connect

what can cause these errors?

Hi dinesh,

this is my sonar-runner.properties file:

sonar.projectKey=NDM
sonar.projectName=NDM
sonar.projectVersion=1.0

sonar.visualstudio.solution=NDM.sln

#sonar.sourceEncoding=UTF-8
sonar.web.host:sonarqube
sonar.web.port=9000

# Enable the Visual Studio bootstrapper
sonar.visualstudio.enable=true

# Unit Test Results
sonar.cs.vstest.reportsPaths=TestResults/*.trx

# Required only when using SonarQube < 4.2
sonar.language=cs

sonar.sources=.

As you can see i set the sonar.web.host:sonarqube sonar.web.port=9000 but when i run sonar-runner.bat i still get the
ERROR: Sonar server 'http://localhost:9000' can not be reached - why is it still looking for localhost:9000
and not sonarqube:9000 as i set?

i saw that in the log of sonar-runner.bat there the following line: INFO: Work directory: D:\sTFS\26091\Sources\NDM\Source..sonar

while my solution is in D:\sTFS\26091\Sources\NDM\Source\

could this be the problem?

thanks, Guy

Answer

roipoussiere picture roipoussiere · Dec 3, 2019

If you use SonarScanner CLI with Docker, you may have this error because the SonarScanner container can not access to the Sonar UI container.

Note that you will have the same error with a simple curl from another container:

docker run --rm byrnedo/alpine-curl 127.0.0.1:9000
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused

The solution is to connect the SonarScanner container to the same docker network of your sonar instance, for instance with --network=host:

docker run --network=host -e SONAR_HOST_URL='http://127.0.0.1:9000' --user="$(id -u):$(id -g)" -v "$PWD:/usr/src" sonarsource/sonar-scanner-cli

(other parameters of this command comes from the SonarScanner CLI documentation)