Docker 集成 sonarqub
原文链接
以下内容,观看上文链接,所做笔记。
Docker 常用命令
- docker pull 拉取镜像
- dcoker images 看看镜像
- docker ps -a 查看镜像状态
- docker log 容器id 查看容器对应的日志
- docker start 容器id 启动镜像
- docker stop 容器id 停止容器
- docker rm 容器id 删除容器
postgres
下载镜像
docker pull postgres
创建工作目录
mkdir -p /home/sonar/postgres/postgresql
mkdir -p /home/sonar/postgres/data
创建网络
docker network create sonarqube-tier
创建容器并运行
docker run --name postgres -d -p 5432:5432 --net sonarqube-tier \
-v /home/sonar/postgres/postgresql:/var/lib/postgresql \
-v /home/sonar/postgres/data:/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:latest
- -p 5432:5432:将容器 5432 映射到宿主机端口 5432
- -v /home/sonar/postgres/postgresql:/var/lib/postgresql:将容器下的 /var/lib/postgresql 挂载到宿主机 /home/sonar/postgres/postgresql
- -v /etc/localtime:/etc/localtime:ro:设置容器与宿主机时间一致
- –e POSTGRES_USER=sonar:设置数据库用户名
- -e POSTGRES_PASSWORD=sonar:设置数据库密码
- -e POSTGRES_DB=sonar:新建db
- -e TZ=Asia/Shanghai:设置时区
- –restart always:容器退出时总是重启
- –privileged=true:挂载主机目录Docker访问出现Permission denied的解决办法
- –net sonarqube-tier:容器接入自定义网络
- –network-alias mysql:给容器起个网络别名
安装sonarQube
下载
`docker pull sonarqube:8.9.7-community`
创建工作目录
mkdir -p /data/sonarqube
修改系统参数
echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p
运行
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:8.9.7-community
访问:http://ip:9090
若日志无报错,请将9090端口号打开