Dockerized Community Installation and Folders

Version: SonarQube Community 9.6.1 (Docker Image) on Ubuntu 20.04.5 LTS

First time around using docker so this may be a misunderstanding on my end.

Followed Install the Server | SonarQube Docs and I had running server with everything working as expected on the previous version (9.5) including AD login plugin. Data was stored using SQL Server for upgrade ease and continuity. Since I planned to update to 9.6.1. I followed also the volume creation steps as well.

$> docker volume create --name sonarqube_data
$> docker volume create --name sonarqube_logs
$> docker volume create --name sonarqube_extensions

And then ran (with updates fileds for the JDBC connectivity)

 docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=... \
    -v sonarqube_data:/opt/sonarqube/data \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    -v sonarqube_logs:/opt/sonarqube/logs \

After this I was running on 9.5 quite well for some time and then chose to upgrade to 9.6.1.

  • Removed the old docker container using docker rm
  • Pulled new 9.6.1 image
  • Ran the run -d step above with new image and other parameters remaining intact.

Sonarqube started just fine, upgraded the db and on start it imported all the old project settings and runs just fine except plugins were missing. Search for /opt/sonarqube yielded no folders. I had assumed this would be created by docker based on the run -d command. I can’t find any documentation regarding the provisioning of the opt folders.

Manually creating them and placing the plugins in the required folder (opt/sonarqube/extensions/plugin) and restarting the app does detect the plugin, however, any plugin installed using marketplace does not end up in the /opt/sonarqube/extensions/plugin folder as I had expected.

Appreciate if anyone can guide me on where exactly my understanding is incorrect and how can I go about changing this to make it upgrade proof.


Sorry you stumbled on this. We’re going to make the documentation clearer.