「Debian11」dockerでOSSのコード品質管理ツールSonarQubeをインストールする
環境
# cat /etc/debian_version
11.2
# docker -v
Docker version 20.10.13, build a224086
# docker-compose version
Docker Compose version v2.2.3
# cat /etc/debian_version
11.2
# docker -v
Docker version 20.10.13, build a224086
# docker-compose version
Docker Compose version v2.2.3
# cat /etc/debian_version 11.2 # docker -v Docker version 20.10.13, build a224086 # docker-compose version Docker Compose version v2.2.3
1.docker-compose.yml作成
# wget https://raw.githubusercontent.com/SonarSource/docker-sonarqube/master/example-compose-files/sq-with-postgres/docker-compose.yml
# wget https://raw.githubusercontent.com/SonarSource/docker-sonarqube/master/example-compose-files/sq-with-postgres/docker-compose.yml
# wget https://raw.githubusercontent.com/SonarSource/docker-sonarqube/master/example-compose-files/sq-with-postgres/docker-compose.yml
2.docker-compose.ymlのサンプルを確認します
# cat docker-compose.yml
version: "3"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
version: "3"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:
version: "3" services: sonarqube: image: sonarqube:community depends_on: - db environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: sonar volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_extensions:/opt/sonarqube/extensions - sonarqube_logs:/opt/sonarqube/logs ports: - "9000:9000" db: image: postgres:12 environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar volumes: - postgresql:/var/lib/postgresql - postgresql_data:/var/lib/postgresql/data volumes: sonarqube_data: sonarqube_extensions: sonarqube_logs: postgresql: postgresql_data:
※Postgresql環境で上記のデータベースとユーザーを事前作成
3.ポート番号9000を開放します
# ufw allow 9000/tcp
Rule added
# sudo ufw reload
Firewall reloaded
# ufw allow 9000/tcp
Rule added
# sudo ufw reload
Firewall reloaded
# ufw allow 9000/tcp Rule added # sudo ufw reload Firewall reloaded
4.コンテナを作成して起動します
# docker-compose up -d
# docker-compose up -d
# docker-compose up -d
5.SonarQube画面ログイン
ブラウザから http://プライベートIP:9000にアクセスします。