Continuando con los artículos de Docker, en este caso se muestra como iniciar SonarQube conectado a una base de datos PostgreSQL y pasando los datos de la base de datos por medio de variables de ambiente.

Sonarqube es una plataforma para evaluar código fuente (tomado de wikipedia).

Los artículos anteriores sobre Docker son:

  1. Instalar Docker en Debian Jessie (enlace roto)

  2. Uso de Docker en Debian Jessie (parte 1) (enlace roto)

  3. Uso de Docker en Debian Jessie (parte 2) (enlace roto)

  4. Crear una imagen Docker a partir de un archivo Dockerfile (enlace roto)

  5. Iniciando Django usando Docker (enlace roto)

  6. Instalar Gitlab por medio de Docker (enlace roto)

  7. Ejecutando microservicios con docker usando docker-compose (enlace roto)

  8. Docker en Docker (DinD) (enlace roto)

  9. Iniciando Django con docker usando docker-compose con postgresql como microservicio. (enlace roto)

  10. Importar un contenedor Docker en Python. (enlace roto)

  11. Compartir imagenes Docker por medio de archivos tar (enlace roto).

  12. Crear un registro de imagenes Docker privado. (enlace roto)

  13. Usar Anaconda desde un contenedor Docker. (enlace roto)

  14. Crear un entorno de Integración y Despligue continue con Docker para node.js. (enlace roto)

  15. Usar Jupyter Notebook desde un contenedor Docker. (enlace roto)

  16. Ejecutar una prueba de doctest con un contenedor Docker (enlace roto).

  17. Ejecutar una prueba de unittest en Python con un contenedor Docker. (enlace roto)

  18. Montar una Plataforma como servicio (PaaS) con Dokku (docker) (enlace roto).

  19. Uso de docker-machine. (enlace roto)

  20. Proveer un cluster con docker swarm y docker-machine. (enlace roto)

  21. Instalar Jenkins por medio de Docker y crear una imagen Docker de Jenkins (enlace roto)

  22. Automatizar la construcción de imágenes Docker con github. (enlace roto)

  23. Crear una imagen Docker para MongoDB3. (enlace roto)

  24. Crear un contenedor Docker como entorno de desarrollo para Sails.js. (enlace roto)

  25. Correr aplicaciones de escritorio desde un contenedor Docker. (enlace roto)

  26. Usar dockerui para la gestión de imágenes y contenedores de Docker (enlace roto)

  27. Crear una imagen Docker de RethinkDB (enlace roto)

  28. Analizar código python con pylint desde Docker (enlace roto)

  29. Instalar gitlab-runner de gitlab-ci por medio de Docker (enlace roto)

  30. Crear datos JSON a partir de un diccionario en Flask (parte 1) (actualización- Docker) (enlace roto)

La guía de configuración y uso de contenedores Docker para sonarqube lo pueden ver en el enalce de Docker hub.

Lo primero que se hará es iniciar un contenedor de postgreSQL:

docker run -d --name postgres2 --restart always  -e POSTGRES_PASSWORD=sonar -e POSTGRES_USER=sonar postgres

Se define que el usuario de la base de datos es sonar y su clave es sonar.

Ahora se inicia el contenedor de sonarqube:

docker run -d --name sonarqube --restart always -p 9000:9000 -p 9092:9092 -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres2/sonar --link postgres2:postgres sonarqube

Se le pasan los puertos donde estará sonarqube (9000 y 9092), se le pasa la configuración de la base de datos a sonarqube (usuario, clave y url de conexión que usará el nombre del contenedor de postgres) y se enlace con el contenedor de postgres.

A continuación se muestra una captura de pantalla del contenedor corriendo:

Para terminar se muestran los contenedores corriendo:

docker ps 
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                          NAMES
e20d4108f54f        sonarqube                 "./bin/run.sh"           29 minutes ago      Up 29 minutes       0.0.0.0:9092->9092/tcp, 0.0.0.0:49000->9000/tcp                sonarqube
e3387c2754d1        postgres                  "/docker-entrypoint.s"   6 hours ago         Up 6 hours          5432/tcp                                                       postgres2

¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV

O Escaneando el código QR desde la billetera:

17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV