при запуске docker-compose up он выводил код ошибки 0

#docker #docker-compose

#docker #docker-compose

Вопрос:

docker-compose.yml

 version: "3.3"

services:

  sonarqube:
    container_name: sonarqube
    image: sonarqube:7.9.2-community
    ports:
      - "9000:9000"
    environment:
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
      - SONARQUBE_JDBC_USERNAME=sonar
      - SONARQUBE_JDBC_PASSWORD=sonar
    networks:
      - sonarnet
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins

  db:
    container_name: sonardb
    image: postgres
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

  sonarscanner:
    container_name: sonarscanner
    image: newtmitch/sonar-scanner
    networks:
      - sonarnet
    volumes:
      - sonarvol:/usr/src

networks:
  sonarnet:

volumes:
  sonarqube_conf:
  sonarqube_data:
  sonarqube_logs:
  sonarqube_extensions:
  sonarqube_bundled-plugins:
  postgresql:
  postgresql_data:
  sonarvol:
  

Комментарии:

1. Запустите docker-compose без -d (интерактивный режим) и предоставьте журнал.

Ответ №1:

Есть два контейнера, которые завершаются, каждый со своей причиной:

  • sonarqube изначально не работает с максимальными областями виртуальной памяти vm.max_map_count [65530] слишком низкий, увеличьте, по крайней мере, до [262144]. Чтобы решить эту проблему, запустите на своем хост-компьютере следующую команду:
 sysctl -w vm.max_map_count=262144
  

как только это будет решено, возникает вторая проблема:

  • контейнер sonarscanner запускается до запуска sonarqube, вызывая эту ошибку: ОШИБКА: сервер SonarQube [ http://sonarqube:9000 ] недоступен. Чтобы решить эту проблему, добавьте политику перезапуска при сбое под вашим сканером в файле compose:
   sonarscanner:
    [...]
    restart: on-failure
  

Как только эта проблема также будет решена, сканер завершит 0 (успех), следовательно, выполнение завершится успешно после печати (что, по-видимому, является нормальным поведением):

 INFO: ANALYSIS SUCCESSFUL, you can browse http://sonarqube:9000/dashboard?id=MyProjectKey
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report