SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

久曲健 發表於 2020-12-26

一、前言

不得不吐槽下,現在的部落格寫的真太扯淡了,就網上寫的使用docker安裝SonarQube而言,搜到十篇文章,最少9篇照著操作配置都不可用,卡在SonarQube無法啟動。自然,我也是被折磨的身心俱疲(自身技術差,不會定位問題,才是重點)。

二、修改Linux系統引數

1、第一處修改

輸入如下命令:

vim /etc/sysctl.conf

2、修改內容

新增如下內容:

vm.max_map_count = 262144
fs.file-max = 65536

3、第二處修改

輸入如下命令:

vim /etc/security/limits.conf

4、修改內容

新增如下內容:

*    soft    nofile    65536
*    hard    nofile    65536

5、重啟

reboot

三、拉取映象並啟動

1、拉取映象

輸入如下命令:

docker pull postgres:10
docker pull sonarqube:7.9.1-community

例項如下:
SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

2、執行容器

啟動postgres,輸入如下命令:

docker run \
  -d \
  --name postgres10 \
  -p 5432:5432 \
  -e POSTGRES_USER=sonar \
  -e POSTGRES_PASSWORD=123456 \
  postgres:10

啟動SonarQube,輸入如下命令:

docker run \
  -d \
  --name sonarqube7.9 \
  -p 9000:9000 \
  --link postgres10 \
  -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres10:5432/sonar \
  -e SONARQUBE_JDBC_USERNAME=sonar \
  -e SONARQUBE_JDBC_PASSWORD=123456 \
  -v sonarqube_conf:/opt/sonarqube/conf \
  -v sonarqube_extensions:/opt/sonarqube/extensions \
  -v sonarqube_logs:/opt/sonarqube/logs \
  -v sonarqube_data:/opt/sonarqube/data \
  sonarqube:7.9.1-community

四、檢查容器執行狀態

1、檢視容器執行狀態

輸入如下命令:

docker ps

檢視容器執行狀態如下:
SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

知識點:

  • docker ps :列出正在執行的容器
  • docker ps -a : 顯示所有的容器,包括未執行的

這裡我TM要吐槽下,某些博主,不知道命令的含義,不要誤導我這個小白好嗎,告訴我用docker ps -a檢視容器狀態,我查完才知道,加-a的意思是會列出所有容器當然也包括未執行的,可不會顯示怎麼的,我要的是執行的,大哥。不要這麼坑好嗎。

2、搞定防火牆

firewall-cmd --zone=public --permanent --add-port=9000/tcp
firewall-cmd --zone=public --permanent --add-port=5432/tcp
firewall-cmd --reload

例項如下:
SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

五、驗證

1、瀏覽器訪問

輸入http://192.168.1.106:9000 ,初始使用 admin/admin 登入,如下圖所示。
SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

2、檢視資料庫資訊

SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

六、設定成中文

1、系統漢化

SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

2、根據提示重啟Sonar Server

SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

3、漢化成功

SonarQube學習(一)- 使用Docker安裝SonarQube(親測可用)

參考原文:https://www.cnblogs.com/anliven/p/12075636.html#_label2_1