要將SonarQube 10.1以及自定義的PostgreSQL數(shù)據(jù)庫部署為Docker容器,您可以按照以下步驟進行操作:
安裝Docker:確保您的系統(tǒng)上已經(jīng)安裝了Docker。您可以根據(jù)您的操作系統(tǒng)類型,參考Docker官方文檔進行安裝。
獲取SonarQube鏡像:以下命令從Docker Hub獲取SonarQube 10.1的Docker鏡像:
docker pull sonarqube:10.1-community
這將下載SonarQube 10.1的Docker鏡像到您的本地機器上。
- 獲取PostgreSQL14.4鏡像:以下命令從Docker Hub獲取PostgreSQL的Docker鏡像:
docker pull postgres:14.4
這將下載最新版本PostgreSQL的Docker鏡像到您的本地機器上。
- 運行PostgreSQL容器:使用以下命令在Docker中運行PostgreSQL容器,并將其命名為"postgres-sonarqube":
docker run -d --restart=always --name postgres-sonarqube -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRES_DB=sonar -e TZ=Asia/Shanghai -p 5432:5432 -v $PWD/postgres-sonarqube10-1:/var/lib/postgresql/data postgres:14.4
這將在后臺運行PostgreSQL容器,并將其綁定到主機的5432端口。同時,還設(shè)置了用戶名、密碼和數(shù)據(jù)庫名稱。
- 運行SonarQube容器:使用以下命令在Docker中運SonarQube容器,并將其連接到先前運行的PostgreSQL容器:
docker run -d --restart=always --name sonarqube -p 9000:9000 --link postgres-sonarqube -e SONAR_JDBC_URL=jdbc:postgresql://postgres-sonarqube:5432/sonar -e SONAR_JDBC_USERNAME=sonar -e SONAR_JDBC_PASSWORD=sonar -e TZ=Asia/Shanghai -v $PWD/sonarqube10/data:/opt/sonarqube/data -v $PWD/sonarqube10/extensions:/opt/sonarqube/extensions -v $PWD/sonarqube10/logs:/opt/sonarqube/logs sonarqube:10.1-community
這將在后臺運行SonarQube容器,并將其Web界面綁定到主機的9000端口。同時,使用了連接到PostgreSQL容器的相關(guān)環(huán)境變量。
- 訪問SonQube:在瀏覽器中訪問http://localhost:9000,您應該能夠看到SonarQube的登錄頁面。初始用戶名和密碼為admin/admin。
注意:如果您將SonarQube容器的端口映射到其他端口(而不是9000端口),請使用相應的端口號進行訪問。
以上步驟將幫助您成功將SonarQube 10.1和自定義的Post數(shù)據(jù)庫部署為Docker容器。您可以根據(jù)需要進行其他配置,例如設(shè)置SonarQube的插件和分析項目。請參考SonarQube的官方文檔以獲取更多詳細信息和指導。
另外如果在運行容器-v報無權(quán)限操作該目錄的錯誤的話,需要將宿主機上掛載目錄的權(quán)限
例如上面掛載了宿主機的sonarqube10目錄。
chmod -R 777 sonarqube10
然后在運行上面的docker命令啟動容器。