要将SonarQube 10.1以及自定义的PostgreSQL数据库部署为Docker容器,您可以按照以下步骤进行操作:
安装Docker:确保您的系统上已经安装了Docker。您可以根据您的操作系统类型,参考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端口。同时,还设置了用户名、密码和数据库名称。
- 运行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容器的相关环境变量。
- 访问SonQube:在浏览器中访问http://localhost:9000,您应该能够看到SonarQube的登录页面。初始用户名和密码为admin/admin。
注意:如果您将SonarQube容器的端口映射到其他端口(而不是9000端口),请使用相应的端口号进行访问。
以上步骤将帮助您成功将SonarQube 10.1和自定义的Post数据库部署为Docker容器。您可以根据需要进行其他配置,例如设置SonarQube的插件和分析项目。请参考SonarQube的官方文档以获取更多详细信息和指导。
另外如果在运行容器-v报无权限操作该目录的错误的话,需要将宿主机上挂载目录的权限
例如上面挂载了宿主机的sonarqube10目录。
chmod -R 777 sonarqube10
然后在运行上面的docker命令启动容器。