Запуск SonarQube с Docker: Docker Compose, Docker Run, Docker Swarm и Kubernetes

Фраза «docker sonarqube» относится к использованию Docker для запуска платформы анализа качества и безопасности кода SonarQube. Вот несколько методов с примерами кода, которые помогут вам начать работу:

Метод 1: использование Docker Compose
Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. Вы можете использовать его для настройки и запуска SonarQube вместе с необходимыми зависимостями. Вот пример файла docker-compose.yml:

version: '3'
services:
  sonarqube:
    image: sonarqube
    ports:
      - 9000:9000
    environment:
      - SONARQUBE_JDBC_URL=jdbc:h2:tcp://db:9092/sonar
    depends_on:
      - db
  db:
    image: postgres
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar

Чтобы запустить SonarQube с помощью Docker Compose, выполните следующую команду в каталоге, содержащем файл docker-compose.yml:

docker-compose up

Метод 2: использование команды Docker Run
Вы также можете запустить SonarQube напрямую с помощью команды docker run. Вот пример:

docker run -d --name sonarqube -p 9000:9000 sonarqube

Метод 3: использование Docker Swarm
Если вы работаете с кластером Docker Swarm, вы можете развернуть SonarQube как услугу. Вот пример команды:

docker service create --name sonarqube --publish 9000:9000 sonarqube

Метод 4. Использование Kubernetes
Если вы предпочитаете Kubernetes для оркестрации контейнеров, вы можете развернуть SonarQube как развертывание Kubernetes. Вот пример конфигурации YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sonarqube
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sonarqube
  template:
    metadata:
      labels:
        app: sonarqube
    spec:
      containers:
        - name: sonarqube
          image: sonarqube
          ports:
            - containerPort: 9000

Вы можете применить конфигурацию с помощью следующей команды:

kubectl apply -f sonarqube-deployment.yaml