首页 > 系统相关 >sonar在linux上 docker部署

sonar在linux上 docker部署

时间:2023-03-11 17:32:29浏览次数:48  
标签:opt -- sonarqube linux sonar docker data

参考资料:https://blog.csdn.net/naumy/article/details/120677544

https://www.cnblogs.com/shenh/p/13428029.html

1.拉取镜像

一、拉取相关镜像并运行数据库

1.1.1拉取相关镜像

# 拉取sonarqube镜像
$ docker pull sonarqube:9.1.0-community (推荐使用) /  $ docker pull sonarqube:7.6-community
# 拉取postgres镜像
$ docker pull postgres:9.6.23

1.1.2运行镜像

# 运行postgres数据库
$ docker run --name postgresqldb --restart=always -p 5432:5432 \
-e POSTGRES_USER=root \
-e POSTGRES_PASSWORD=123456  \
-d postgres:9.6.23

# 进入postgres容器,创建用户名和密码
$ docker exec -it postgresqldb bash

# 登录数据库
psql -U root -W
# 创建用户名和密码
create user sonar with password 'sonar';
create database sonar owner sonar;
grant all privileges on database sonar to sonar;

二、安装 sonarQube

#2.创建工作目录
mkdir -p /data/sonarqube
#3.修改系统参数
echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p
#4.运行一个test容器
docker run -d --name sonartest sonarqube:9.1.0-community
#将容器内重要文件复制到宿主机
docker cp sonartest:/opt/sonarqube/conf /data/sonarqube
docker cp sonartest:/opt/sonarqube/data /data/sonarqube
docker cp sonartest:/opt/sonarqube/logs /data/sonarqube
docker cp sonartest:/opt/sonarqube/extensions /data/sonarqube
#然后删除此容器
docker rm sonartest
#修改文件夹权限
chmod -R 777 /data/sonarqube/

启动 sonarQube

方法一

docker run -d --name sonar -p 9090:9000 \
-e ALLOW_EMPTY_PASSWORD=yes \
-e SONARQUBE_DATABASE_USER=sonar \
-e SONARQUBE_DATABASE_NAME=sonar \
-e SONARQUBE_DATABASE_PASSWORD=sonar \
-e SONARQUBE_JDBC_URL="jdbc:postgresql://postgres:5432/sonar" \
--net sonarqube-tier \
--privileged=true \
--restart always \
-v /data/sonarqube/logs:/opt/sonarqube/logs \
-v /data/sonarqube/conf:/opt/sonarqube/conf \
-v /data/sonarqube/data:/opt/sonarqube/data \
-v /data/sonarqube/extensions:/opt/sonarqube/extensions\
sonarqube:9.1.0-community

若这种方式出现连不上数据库 postgres 的问题,可参照第二种方法

方法二

1)找到 /data/sonarqube/conf/ 路径下的文件 sonar.properties,修改如下并保存
# 找到如下配置去掉注释。并赋值 username,password
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

# 去掉 sonar.jdbc.url 注释,配置url
#----- PostgreSQL 9.3 or greater
# By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".
sonar.jdbc.url=jdbc:postgresql://postgres:5432/sonar

注意此处的url链接:sonar.jdbc.url=jdbc:postgresql://ip:5432/sonar

2)使用docker命令创建容器

docker run -d --name sonar -p 9090:9000 \
 --net sonarqube-tier \
 --privileged=true \
 --restart always \
 -v /data/sonarqube/logs:/opt/sonarqube/logs \
 -v /data/sonarqube/conf:/opt/sonarqube/conf \
 -v /data/sonarqube/data:/opt/sonarqube/data \
 -v /data/sonarqube/extensions:/opt/sonarqube/extensions\
 sonarqube:9.1.0-community

遇到的问题

  • 1、数据库账号密码设置错,导致链接数据库一直失败
  • 2、数据url错误,使用docker不能用localhost,而要用真是的ip地址。

标签:opt,--,sonarqube,linux,sonar,docker,data
From: https://blog.51cto.com/mspring/6114670

相关文章

  • 完美卸载Docker
    1,删除docker所在目录rm-rf/etc/dockerrm-rf/run/dockerrm-rf/var/lib/dockershimrm-rf/var/lib/docker2,Kill掉Docker进程ps-ef|grepdockerkill-9......
  • php连接docker运行的mysql,显示(HY000/2002): Connection refused的解决办法
    php连接docker运行的mysql,显示(HY000/2002):Connectionrefused的解决办法-斌哥tobin-博客园(cnblogs.com)php要连接docker中运行的mysql是不能用localhost,127.......
  • Linux命令
    查看镜像:dockerimages 或 dockeimagels删除容器:dockerrm 容器ID     //注意删除容器前先停止容器删除镜像:dockerrmi镜像名     //......
  • Linux提权-权限升级
    特权升级是一段旅程。没有灵丹妙药,很大程度上取决于目标系统的具体配置。内核版本、已安装的应用程序、支持的编程语言、其他用户的密码是影响您通往rootshell之路的几......
  • linux笔记
    centos8.3镜像地址:https://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/一,安装1,制作安装盘文件打开centos7.iso本地目录选中U盘,“写入硬盘映像”,写入方式“USB-HDD+......
  • 修改docker的镜像地址
    Docker设置国内镜像地址-知乎(zhihu.com)C:\Users\clu\.docker\daemon.json Docker修改镜像源地址-星朝-博客园(cnblogs.com)从网上找了几个速度比较快的镜......
  • ubuntu22.04 安装新版 linuxqq
    1.浏览器打开网址https://im.qq.com/linuxqq/index.shtml,并下载X64deb版的包2.到达Downloads目录下(你deb文件的默认下载位置):cdDownloads3.运行命令:sudodp......
  • MySQL :: MySQL Installation Guide :: 7.6.1 Basic Steps for MySQL Server Deployme
    MySQL::MySQLInstallationGuide::7.6.1BasicStepsforMySQLServerDeploymentwithDockerWarningTheMySQLDockerimagesmaintainedbytheMySQLteamar......
  • docker常用命令
    docker相关1.重启dockersystemctlrestartdocker文件相关1.文件拷贝dockercp[from_path][name/id]:[to_path]dockercp/root/daemon.json容器相关https://......
  • Resolve the conflict between docker and VMWare-ITworkman
    2023-03-11可以选择不实用Hyper-VWSL2backendWindows1164-bit:HomeorProversion21H2orhigher,orEnterpriseorEducationversion21H2orhigher.Windo......