sonarqube 9.3.0 docker搭建

2022-03-29  本文已影响0人  苏小小北

docker镜像:(https://hub.docker.com/)

  1. sonarqube:9.3.0-community
  2. postgres:14-alpine

安装PostgreSQL

# 14.2有问题
docker pull postgres:14-alpine

运行PostgreSql

# -v 挂在到宿主机/data/mnt/postgresql/data
#(映射到容器/var/lib/postgresql/data,即使容器挂了,不会丢失数据)
docker run -d --name postgres \
 -e POSTGRES_PASSWORD=123456 \
 -e PGDATA=/var/lib/postgresql/data/pgdata \
 -p 5432:5432 \
 -v /data/mnt/postgresql/data:/var/lib/postgresql/data \
 postgres:14-alpine

进入postgres容器

docker exec -ti postgres bash

创建用户和数据库

# 进入容器后,切换到postgres用户
su postgres
# 进去psql命令行
psql
# 创建用户sonar
create ROLE sonar superuser PASSWORD '123456' login;
# 创建数据库sonar
create DATABASE sonar; 

至此搭建数据库完成,拿到连接信息

SONARQUBE_JDBC_USERNAME=sonar
SONARQUBE_JDBC_PASSWORD=123456
# 10.2.3.4表示本机ip
SONARQUBE_JDBC_URL=jdbc:postgresql://10.2.3.4:5432/sonar

搭建sonarqube 9.3

# 拉取镜象
docker pull sonarqube:9.3.0-community

运行9.3.0-community镜象

# --security-opt seccomp=/data/mnt/seccomp/profile.json 是为了解决"could not find java in ES_JAVA_HOME",如果没有问题,可以去掉。
# -v 把sonarqube的插件数据等挂在到宿主机的位置,避免丢失
docker run -d --name sonarqube \
 --security-opt seccomp=/data/mnt/seccomp/profile.json \
 -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
 -e SONARQUBE_JDBC_USERNAME=sonar \
 -e 'SONARQUBE_JDBC_PASSWORD=123456' \
 -e 'SONARQUBE_JDBC_URL=jdbc:postgresql://10.2.3.4:5432/sonar' \
 -v /data/mnt/sonarqube/data:/opt/sonarqube/data \
 -v /data/mnt/sonarqube/extensions:/opt/sonarqube/extensions \
 -v /data/mnt/sonarqube/logs:/opt/sonarqube/logs \
 -p 9000:9000 sonarqube:9.3.0-community

如果没有问题,访问9000端口就可以启动成功啦!

FAQ(整理了其中可能会遇到的问题)

sysctl -w vm.max_map_count=262144
wget -P /data/mnt/seccomp/ https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json
# docker启动命令
docker run -d --name sonarqube \
 --security-opt seccomp=/data/mnt/seccomp/profile.json \
 -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
 ....
上一篇下一篇

猜你喜欢

热点阅读