1.创建docker-compose 文件目录
mkdir sonar
cd sonar
2.创建docker-compose.yaml文件
vim docker-compose.yaml
version: "3"
services:
postgres:
image: postgres
restart: always
container_name: postgres
ports:
- 5432:5432
volumes:
- /app/sonarqube/postgres/postgresql:/var/lib/postgresql
- /app/sonarqube/postgres/data:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
sonar:
image: sonarqube:lts-community
container_name: sonar
depends_on:
- postgres
volumes:
- /app/sonarqube/sonarqube/extensions:/opt/sonarqube/extensions
- /app/sonarqube/sonarqube/logs:/opt/sonarqube/logs
- /app/sonarqube/sonarqube/data:/opt/sonarqube/data
- /app/sonarqube/sonarqube/conf:/opt/sonarqube/conf
ports:
- 9000:9000
command:
- -Dsonar.ce.javaOpts=-Xmx2048m
- -Dsonar.web.javaOpts=-Xmx2048m
# - -Dsonar.web.context=/sonar
environment:
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
~
3.配置本地映射文件目录
volumes:
- /app/sonarqube/postgres/postgresql:/var/lib/postgresql
- /app/sonarqube/postgres/data:/var/lib/postgresql/data
# :前半部分为本地映射目录
4.启动服务
docker-compose up -d
#yaml当前目录
5.查看服务状态
docker-compose ps
#or docker ps |grep sonar
6.访问测试
浏览器窗口登录相应的ip:9000端口访问
密码 admin/admin
随后配置对应的nginx 转发
如
server {
server_name sonarqube.test.cn;
listen 80;
location / {
proxy_pass http://192.168.0.100:9000;
}
}
server {
server_name sonarqube.test.cn;
listen 443 ssl;
ssl_certificate ssl/sonarqube.test.cn.pem;
ssl_certificate_key ssl/sonarqube.test.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.0.100:9000;
}
# proxy_set_header Host $proxy_host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}