關於Docker的基礎知識詳見下面幾篇文章nginx
Docker及圖形化管理UI Portainer的搭建sql
Dockerfile的使用以及使用Maven工程TCP構建遠程鏡像docker
Sonar是一個用於代碼質量管理的開源平臺,用於管理代碼的質量,經過插件形式能夠支持二十幾種語言的代碼質量檢測,經過多個維度的檢查了快速定位代碼中潛在的或者明顯的錯誤。bash
Sonar須要數據庫的支持,這裏咱們採用的是Postgres數據庫,因此咱們須要下載Sonar、Postgres的Docker鏡像markdown
docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -v postgres_volume:/var/lib/postgresql/data -d postgres 複製代碼
docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9001:9000 -d -v sonar_data:/opt/sonarqube/data -v sonar_extensions:/opt/sonarqube/extensions sonarqube 複製代碼
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; server { listen 80; server_name docker.xyz.cn; location / { proxy_pass http://192.168.27.180:9000; } } server { listen 80; server_name filebrowser.xyz.cn; location / { proxy_pass http://192.168.27.180:3000; } } server { listen 80; server_name sonar.xyz.cn; location / { proxy_pass http://192.168.27.180:9001; } } } 複製代碼
很簡單,目前版本的Sonar已經有對應插件支持,配置-應用市場直接搜索Chinese Pack便可app