I’m using sonarqube-10.0.0.68432, deployed from unzipped directory with our custom sonar check settings.
I wrote Dockerfile for base image, where our custom Sonarqube is copying inside image:
FROM debian:bullseye AS deb
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get upgrade -y && apt-get clean && \
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata
FROM deb AS jre
RUN apt-get install -y openjdk-17-jre-headless
RUN apt-get update && apt-get install -y procps
FROM jre AS maven
RUN apt-get install -y maven
FROM maven AS sonar
RUN mkdir -p sonar
WORKDIR sonar
COPY ./sonarqube-10.0.0.68432 /sonar
RUN groupadd sonarqube && \
useradd -c "Sonar System User" -d /sonar -g sonarqube sonarqube && \
chown -R sonarqube:sonarqube /sonar && \
chmod -R 777 /sonar
And I wrote Dockerfile for my service:
FROM basewithlinter:latest AS debwithlinter
FROM base:latest AS deb
FROM debwithlinter AS builder
WORKDIR /sonar
USER sonarqube
RUN ./bin/linux-x86-64/sonar.sh console \
-p 9000:9000 \
-e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
-D sonar.host.url=http://sonarqube:9000 &
USER root
WORKDIR /build
COPY . /build
RUN mvn dependency:go-offline
RUN mvn package -DskipTests \
sonar:sonar -Dsonar.host.url=http://sonarqube:9000 -Dsonar.login=admin -Dsonar.password=<password> -Dsonar.qualitygate.wait=true
FROM deb AS runner
USER root
RUN mkdir -p app/tmp app/logs app/config
WORKDIR /app
COPY --from=builder build/target/ratesdumper-1.0.0-rc1.jar /app/moex_exchange_rates_dumper.jar
ENTRYPOINT ["java", "-jar", "moex_exchange_rates_dumper.jar"]
But I’m getting error: [ERROR] SonarQube server [http://sonarqube:9000] can not be reached.
If I don’t specify the host “http://sonarqube:9000” I’m getting same error: localhost can’t be reached.
I checked: Sonarqube starts and is running, but I don’t know how to get it.