Skip to content

Laboratorio en formato Docker Compose, con el que podemos arrancar SonarQube Community con PostgreSQL, para trastear y experimentar con SonarQube, de forma fácil y rápida

Notifications You must be signed in to change notification settings

ElWillieES/sonar-docker-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sonar Docker Lab

Docker  SonarQube  Postgresql 

Más ejemplos de Badges en markdown-badges, Badges 4 README.md Profile y Awesome Badges

Introducción

Este repo se ha creado para complementar los Posts sobre SonarQube del Blog El Willie - The Geeks invaders, y comparte un pequeño laboratorio en formato de Docker Compose, con el que podemos arrancar los siguientes componentes:

  • PostgreSQL como base de datos para Sonar, utilizando un volumen Docker.
  • SonarQube Communiry, utilizando volúmenes Docker. Depende de PostreSQL.

De esta forma, podemos arrancar este laboratorio y trastear con Sonar de forma rápida y sencilla gracias a Docker, pero con volúmenes que nos ofrezcan persistencia.

Algunos de los Posts de Sonar en los que se basa este Docker Compose son:

Puedes apoyar mi trabajo siguiéndome, haciendo "☆ Star" en el repo, o nominarme a "GitHub Star". Muchas gracias :-)

GitHub Star

En mi Blog personal (El Willie - The Geeks invaders) y en mi perfil de GitHub, encontrarás más información sobre mi, y sobre los contenidos de tecnología que comparto con la comunidad.

Web

Variable de Entorno SONAR_ES_BOOTSTRAP_CHECKS_DISABLE y el error "vm.max_map_count [65530] is too low"

Al arrancar Sonar, se realizan varios chequeos, y un error habitual que nos podemos encontrar es el siguiente:

...
sonar-docker-lab-sonarqube-1  | ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
sonar-docker-lab-sonarqube-1  | bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
sonar-docker-lab-sonarqube-1  | ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log
...

Esto se puede solucionar principalmente de dos formas:

  • La manera más sencilla. Evitar esos chequeos, estableciendo la variable de entorno SONAR_ES_BOOTSTRAP_CHECKS_DISABLE a true, que es lo que hacemos en los ejemplos de este Post (tanto con Docker como con Docker Compose). No es recomendable, pero es muy sencillo y para un entorno de laboratorio y pruebas, vale, indiferentemente de qué sistema operativo uses.
  • La manera correcta. Corregir la configuración que indica el error. Se trata de un error del Elasticsearch que trae embebido Sonar, y la solución depende del sistema operativo utilizado. Más info: Install Elasticsearch with Docker. También suele ser útil revisar las recomendaciones de configuración del Docker Host indicadas para la imagen de SonarQube: Docker Hub - SonarQube

Este Docker Compose usa la variable SONAR_ES_BOOTSTRAP_CHECKS_DISABLE, como solución sencilla. Si deseas realizar un uso profesional, es recomendable quitar esa variable de entorno y seguir las configuraciones del Docker Host indicadas en Docker Hub - SonarQube

Docker - Ejecución en local con Docker Compose

Lo primero, en la raíz del repo, debemos editar el fichero .env donde se establecen variables que podemos utilizar en los contenedores definidos en el Docker Compose, como sería la Zona Horaria.

Por ejemplo, para usar Madrid deberíamos dejar así la variable TZ en el ficher .env

TZ=Europe/Madrid

Los siguientes comandos ejecutados en la raíz del Proyecto, muestra cómo arrancar todos los contenedores con Docker Compose, como comprobar su estado, así como la forma de poder comprobar los logs de su ejecución.

docker-compose up -d
docker-compose ps
docker-compose logs

Podemos abrir una sesión bash en cualquiera de los contenedores ejecutando con comando como el siguiente:

docker exec -it sonar-docker-lab-postgres-1 bash

En caso necesario, podemos parar (sin eliminar) y volver a arrancar todos los contenedores Docker con los siguientes comandos:

docker-compose stop
docker-compose start

Si deseamos parar y/o arrancar un único contenedor (ej: sonarqube), podemos utilizar comandos como los siguientes:

docker-compose stop sonarqube
docker-compose start sonarqube

Podemos parar y eliminar todos los contenedores con el siguiente comando:

docker-compose down

About

Laboratorio en formato Docker Compose, con el que podemos arrancar SonarQube Community con PostgreSQL, para trastear y experimentar con SonarQube, de forma fácil y rápida

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published