Docker 代码审核之搭建 SonarQube 环境

欲野 · April 28, 2020 · Last by 欲野 replied at April 30, 2020 · 1479 hits

安装docker-compose

进入/usr/local/bin/
上传或者下载 docker-compose
chmod +x /usr/local/bin/docker-compose

1创建目录

mkdir -p /dockerdata/sonarqube && cd /dockerdata/sonarqube

2创建所有的映射文件

mkdir -p /dockerdata/sonarqube/postgres && \
mkdir -p /dockerdata/sonarqube/data && \
mkdir -p /dockerdata/sonarqube/extensions && \
mkdir -p /dockerdata/sonarqube/logs && \
mkdir -p /dockerdata/sonarqube/conf

3把所有目录设置为 777 权限,避免权限问题

chmod 777 /dockerdata/sonarqube/postgres && \
chmod 777 /dockerdata/sonarqube/data && \
chmod 777 /dockerdata/sonarqube/extensions && \
chmod 777 /dockerdata/sonarqube/logs && \
chmod 777 /dockerdata/sonarqube/conf

创建数据库挂载

mkdir -p /dockerdata/postgres/postgresql &&\
mkdir -p /dockerdata/postgres/data

chmod -R 777 /dockerdata/postgres/postgresql &&\
chmod -R 777 /dockerdata/postgres/data

4创建 /dockerdata/sonarqube/docker-compose.yml 文件,描述了 docker 详情:

第一个版本

version: '3'
services:
postgres:
image: postgres:12
restart: always
container_name: sonarqube_postgres
ports:
- 5432:5432
volumes:
- /dockerdata/postgres/postgresql/:/var/lib/postgresql
- /dockerdata/postgres/data/:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
networks:
- sonar-network
sonar:
image: sonarqube:7.9-community
restart: always
container_name: sonarqube
depends_on:
- postgres
volumes:
- /dockerdata/sonarqube/extensions:/opt/sonarqube/extensions
- /dockerdata/sonarqube/logs:/opt/sonarqube/logs
- /dockerdata/sonarqube/data:/opt/sonarqube/data
- /dockerdata/sonarqube/conf:/opt/sonarqube/conf
ports:
- 9000:9000
environment:
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
networks:
- sonar-network
networks:
sonar-network:
driver: bridge

5修改一个系统配置,我启动 docker 时报有相关错误(相关报错在/dockerdata/sonarqube/logs/es.log 中)

cd /etc
vim sysctl.conf
加入vm.max_map_count=262144
sysctl -p

6启动容器

docker-compose up -d

浏览器访问

ip:9000
共收到 3 条回复 时间 点赞

666,nice,小白教程,跟着做就行了。(友情提请下,CPU起码2g以上再运行这个)
第一步,楼主可以贴一下docker-compose的链接
“pip install docker-compose”
或者
“curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-uname` -s-uname -m` > /usr/local/bin/docker-compose”

既然用了docker网络,那么5432没有必要暴露出来哦

欲野 #3 · April 30, 2020 作者
韩将 回复

多谢大佬指点,受教了,但是我们内部还有其他的服务要使用这个数据库,不暴露,没办法连接😂

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up