我想通过 docker-compose 使用 postgresql 设置 sonarqube,尽管我在 docker-compose.yml 中提供了环境变量,但 Sonarqube 并没有尊重它们。我无法使用 docker-compose.yml 中提供的用户名和密码登录 Sonarqube 仪表板。
我的 docker-compose.yml 如下所示:-
sonarkube:
container_name: sonarkube
image: sonarqube:latest
restart: on-failure:5
command: >
/bin/bash -c "
while ! nc -z sonar_postgres 5432;
do
echo sleeping;
sleep 1;
done;
echo Connected!;
"
command: -Dsonar.ce.javaOpts=-Xms512m
command: -Dsonar.ce.javaOpts=-Xmx2048m
command: -Dsonar.sonar.search.javaOpts=-Xms512m
command: -Dsonar.sonar.search.javaOpts=-Xmx2048m
command: -Dsonar.login=biplab
command: -Dsonar.password=biplab
ports:
- "9000:9000"
- "9092:9092"
depends_on:
- sonar_postgres
environment:
- Dsonar.jdbc.url=jdbc:postgresql://sonar_postgres:5432/sonar?user=biplab&password=biplab
- Dsonar.jdbc.username=biplab
- Dsonar.jdbc.password=biplab
- SONARQUBE_JDBC_USERNAME=biplab
- SONARQUBE_JDBC_PASSWORD=biplab
- SONARQUBE_JDBC_URL=jdbc:postgresql://sonar_postgres:5432/sonar?user=biplab&password=biplab
- SONAR_LOGIN=biplab
- SONAR_PASSWORD=biplab
volumes:
- /opt/sonarqube/extensions
- ./data/sonarqube/docker:/opt/sonarqube/docker
networks:
- frontend
sonar_postgres:
image: postgres:9.6-alpine
restart: on-failure:5
hostname: sonar_postgres
container_name: sonar_postgres
networks:
- frontend
ports:
- "5432:5432"
environment:
- POSTGRES_USER=biplab
- POSTGRES_PASSWORD=biplab
- POSTGRESQL_DATABASE=sonar
volumes:
- postgresql:/var/lib/postgresql:z
- /opt/postgres/data:/var/lib/postgresql/data:z
volumes:
postgresql:
postgresql_data:
networks:
frontend:
您的 docker-compose.yaml 无效: 1. 多个
command
定义
2.环境变量POSTGRESQL_DATABASE错误,应该是POSTGRES_DB
这个 docker-compose.yaml 文件运行良好并且能够登录:
version: '3.5'
services:
sonarqube:
image: sonarqube
ports:
- "9000:9000"
networks:
- sonarnet
environment:
- sonar.jdbc.url=jdbc:postgresql://db:5432/sonar
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
db:
image: postgres
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
networks:
sonarnet:
driver: bridge
volumes:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
postgresql:
postgresql_data:
默认登录名是:
admin
admin