Any intelligent reason for switching from Alpine to Ubuntu 22.04 with Sonarqube 9.9?

Sonarqube 9.8 uses Alpine as base imae for Docker. In 9.9 you switched to Ubuntu 22.04? Why??? Now my dockerfile doesn’t work any more and I can’t deploy Sonarqube 9.9 without additional effort

Hey Patrick,

While I am not involved in this topic, I found the following ticket: [DOCKER-134] - Jira

There is says that the change of the base image was done to properly support Apple Silicon M1 (ARM64).

And please be civil.

Be Civil

The topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.

  • Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.
  • Be respectful. Don’t harass or grief anyone, impersonate people, or expose their private information.
  • More than that, be kind. Everyone has something they don’t know much about. Everyone needs help sometimes. And everyone makes mistakes. Give the kinds of responses you would like to get.

If your Dockerfile doesn’t work anymore, maybe there’s something we forgot to consider when changing the base image. It would be great if you could provide more details.

Ok, I will do your job and tell you where your problem lies…

You are using the wrong base image. It should be “eclipse-temurin:17-jre-alpine”. Instead you are using “eclipse-temurin:17-jre”, which is based on Ubuntu.

Ok, makes sense, but still, I wouldn’t expect such a big change in a minor release upgrade from 9.8 to 9.9

Hey there.

We expect this change to be seamless for most users, but can you tell us why it isn’t in your case?

We have set up our own Dockerfile around the official one, to ensure the plugins are persisted even if the complete filesystem was deleted. We also added a mechanism to pause the start up of SonarQube until the database port comes up

Hello @pst , as pointed by Hendrik, the reason we moved is to be compatible with ARM64-based Apple M1.

A little bit more context on that, Alpine and jvm does not work well on arm64, because of the C-library implementation being different ( musl vs glibc ) if you are curious about it, i will be happy to provide some more details on that topic.

Regarding your custom Dockerfile and the associated needs. i am really sorry that it impacted you that way, i hope we will find a good solution together.

Does your context allows you to use multi-stage build to populate the plugins folder ? so that you can use your own image to download the plugins and rely on the SonarQube one only for the runtime ?

Also can you explain a little bit more the deployment method you are using for your docker image and how you achieved the custom waiting for the db ?

1 Like