#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