
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Debian Jessie和Oracle JDK 8构建的Sonarqube Docker镜像。
构建此Docker镜像的源代码可在https://github.com/chrisipa/docker-library/tree/master/debian-pom/java-pom/sonarqube%E6%89%BE%E5%88%B0%E3%80%82
此Sonarqube Docker镜像包含以下软件组件:
数据存储需使用关系型数据库,目前支持:
暴露以下TCP端口:
启动Sonarqube容器时,可通过docker run命令行传递以下环境变量调整配置:
DB_TYPE
mysql、postgresqlmysqlDB_HOST
$MYSQL_PORT_3306_TCP_ADDR 或 sonarqube-mysqlDB_PORT
$MYSQL_PORT_3306_TCP_PORT 或 3306DB_NAME
$MYSQL_ENV_MYSQL_DATABASE 或 sonarqubeDB_USER
$MYSQL_ENV_MYSQL_USER 或 sonarqubeDB_PASS
$MYSQL_ENV_MYSQL_PASSWORD 或 my-passwordSONARQUBE_CONTEXT_PATH
SONARQUBE_JAVA_OPTS
准备工作:在主机创建非特权用户和数据文件夹
创建用户组和用户:
bashsudo groupadd -g 1001 chrisipa sudo useradd -u 1001 -g 1001 -m -s /usr/sbin/nologin chrisipa
在Docker主机创建Sonarqube文件夹:
bashsudo mkdir -p /opt/sonarqube sudo chown 1001.1001 /opt/sonarqube
示例1:外部主机上的MySQL服务器(默认端口)
确保MySQL数据库服务器允许外部访问
创建名为sonarqube的数据库,并允许用户sonarqube访问
运行Sonarqube容器:
bashdocker run --name sonarqube-app -d -p 9000:9000 -e DB_HOST=192.168.0.1 -e DB_PASS=my-password -v /opt/sonarqube/app/conf:/opt/sonarqube/conf -v /opt/sonarqube/app/data:/opt/sonarqube/data -v /opt/sonarqube/app/extensions:/opt/sonarqube/extensions docker.xuanyuan.run/chrisipa/sonarqube
示例2:同一Docker主机上的MySQL容器
运行MySQL容器:
bashdocker run --name sonarqube-mysql -d -e MYSQL_ROOT_PASSWORD=my-root-password -e MYSQL_DATABASE=sonarqube -e MYSQL_USER=sonarqube -e MYSQL_PASSWORD=my-password -v /opt/sonarqube/mysql:/var/lib/mysql docker.xuanyuan.run/mysql:latest
链接到新创建的MySQL容器运行Sonarqube:
bashdocker run --name sonarqube-app --link sonarqube-mysql:mysql -d -p 9000:9000 -v /opt/sonarqube/app/conf:/opt/sonarqube/conf -v /opt/sonarqube/app/data:/opt/sonarqube/data -v /opt/sonarqube/app/extensions:/opt/sonarqube/extensions docker.xuanyuan.run/chrisipa/sonarqube
示例3:使用Docker Compose运行容器
创建docker-compose.yml文件:
yamlmysql: image: docker.xuanyuan.run/mysql volumes: - /opt/sonarqube/mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=my-root-password - MYSQL_DATABASE=sonarqube - MYSQL_USER=sonarqube - MYSQL_PASSWORD=my-password sonarqube: image: docker.xuanyuan.run/chrisipa/sonarqube links: - mysql:mysql ports: - 9000:9000 volumes: - /opt/sonarqube/app/conf:/opt/sonarqube/conf - /opt/sonarqube/app/data:/opt/sonarqube/data - /opt/sonarqube/app/extensions:/opt/sonarqube/extensions - /opt/sonarqube/app/logs:/opt/sonarqube/logs environment: - SONARQUBE_CONTEXT_PATH=/sonar
使用Docker Compose启动容器:
bashdocker-compose up -d
参见父镜像文档:https://github.com/chrisipa/docker-library/tree/master/debian-pom/java-pom/jdk#accept-self-signed-ssl-certificates-from-jre
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 chrisipa/sonarqube 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: