SonarQube-[以Docker方式启动SonarQube]

root
233
文章
0
评论
2021年10月12日16:29:21 评论 3973字阅读13分14秒

SonarQube-[Docker方式启动]

镜像地址:https://hub.docker.com/_/sonarqube/

创建容器网络

[root@jeekins ~]# docker network create sonarqube-tier
2b6bdf2a0cbe91d6475fc559fcd3bab6e7eeeab5f39579fcef7b337e59283839

 

拉取Sonar/postgres镜像并启动

## lib目录(低于SonarQube8.9.1可以配置持久化,以支持多分支插件。)

[root@jeekins sonarqube8.9.2]# docker pull sonarqube:8.9.0-community
[root@jeekins ~]# docker pull postgres:13
[root@jeekins ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres 13 cd4b5373985e 11 days ago 371MB
jenkins/jenkins 2.289.3-lts-centos7 3fbe5451def3 2 months ago 699MB
gitlab/gitlab-ce 14.0.0-ce.0 db71bbad3cdc 3 months ago 2.21GB
sonarqube 8.9.0-community fd510b11068a 5 months ago 515MB

 

创建Sonar/postgres目录

postgres目录

[root@jeekins ~]# mkdir /data/postgres
[root@jeekins ~]# mkdir /data/postgresDB

sonarqube目录

[root@jeekins ~]# mkdir -p /data/sonarqube8.9.0/{sonarqube_conf,sonarqube_extensions,sonarqube_logs,sonarqube_data,/sonarqube_lib}
[root@jeekins ~]# ll /data/sonarqube8.9.0/
总用量 0
drwxr-xr-x 2 root root 6 10月 12 12:12 sonarqube_conf
drwxr-xr-x 2 root root 6 10月 12 12:12 sonarqube_data
drwxr-xr-x 2 root root 6 10月 12 12:12 sonarqube_extensions
drwxr-xr-x 2 root root 6 10月 12 12:12 sonarqube_lib
drwxr-xr-x 2 root root 6 10月 12 12:12 sonarqube_logs

修改内核参数

echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@jeekins ~]# sysctl -p
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
net.ipv4.ip_forward = 1
vm.max_map_count = 262144

 

运行容器

启动postgres

docker run --name sonar_postgres -d -p 5432:5432 --net sonarqube-tier \
-v /data/postgres:/var/lib/postgresql \
-v /data/postgresDB:/var/lib/postgresql/data \
-v /etc/localtime:/etc/localtime:ro \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar \
-e TZ=Asia/Shanghai \
--restart always \
--privileged=true \
--network-alias postgres \
postgres:13

启动SonarQube

docker run -d --name sonarqube8.9.0 -p 9000:9000 \
 -e ALLOW_EMPTY_PASSWORD=yes \
-e SONAR_JDBC_USERNAME=sonar \
-e SONAR_JDBC_PASSWORD=sonar \
 -e SONARQUBE_JDBC_URL="jdbc:postgresql://sonar_postgres:5432/sonar" \
 --net sonarqube-tier \
 --privileged=true \
 --link sonar_postgres \
 --restart always \
-v /data/sonarqube8.9.0/sonarqube_conf:/opt/sonarqube/conf \
-v /data/sonarqube8.9.0/sonarqube_extensions:/opt/sonarqube/extensions \
-v /data/sonarqube8.9.0/sonarqube_logs:/opt/sonarqube/logs \
-v /data/sonarqube8.9.0/sonarqube_data:/opt/sonarqube/data \
 sonarqube:8.9.0-community

查看服务

[root@jeekins data]# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                 PORTS                                                                                                                               NAMES
73f88cc92cf9   sonarqube:8.9.0-community             "bin/run.sh bin/sona…"   26 minutes ago   Up 26 minutes          0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                                                                           sonarqube8.9.0
26f2eec2e057   postgres:13                           "docker-entrypoint.s…"   28 minutes ago   Up 28 minutes          0.0.0.0:5432->5432/tcp, :::5432->5432/tcp                                                                                           sonar_postgres
63864ce1c7a7   gitlab/gitlab-ce:14.0.0-ce.0          "/assets/wrapper"        4 weeks ago      Up 2 weeks (healthy)   80/tcp, 0.0.0.0:9080->9080/tcp, :::9080->9080/tcp, 0.0.0.0:8022->22/tcp, :::8022->22/tcp, 0.0.0.0:5443->443/tcp, :::5443->443/tcp   gitlab
bcad7b56d1df   jenkins/jenkins:2.289.3-lts-centos7   "/sbin/tini -- /usr/…"   5 weeks ago      Up 6 hours             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp                                            jenkins

 

docker-compose的方式启动容器

 docker-compose.yml

version: '3'
services: 
  postgres: 
    image: postgres:13
    restart: always
    container_name: sonar_postgres
    ports:
      - 5432:5432
    volumes:
      - /data/postgres:/var/lib/postgresql
      - /data/postgresDB:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    environment:
      TZ: Asia/Shanghai    
      POSTGRES_USER: sonar   
      POSTGRES_PASSWORD: sonar
      POSTGRES_DB: sonar
    networks: 
      - sonarqube-tier
  sonar:
    image: sonarqube
    restart: always 
    container_name: sonarqube
    depends_on:
      - postgres
    volumes:
      - /data/sonarqube8.9.0/sonarqube_conf:/opt/sonarqube/conf
      - /data/sonarqube8.9.0/sonarqube_extensions:/opt/sonarqube/extensions
      - /data/sonarqube8.9.0/sonarqube_logs:/opt/sonarqube/logs 
      - /data/sonarqube8.9.0/sonarqube_data:/opt/sonarqube/data
    ports:
      - 9000:9000
    environment:
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
      SONARQUBE_JDBC_URL: jdbc:postgresql://sonar_postgres:5432/sonar
    networks: 
      - sonarqube-tier
networks:
  sonarqube-tier:
    driver: bridge

docker-compose 用法

启动:docker-compose up -d
停止:docker-compose down

启动:docker-compose start
停止:docker-compose stop

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2021年10月12日16:29:21
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: