目录导航
SonarQube:CentOS7 使用 Docker 安装 SonarQube 后,连接不同主机的 MySQL
简介:
准备两台主机,host1 使用 Docker 部署 MySQL,host2 使用 Docker 部署 SonarQube。然后进行数据连接。
请先阅读-> https://blog.csdn.net/KissedBySnow/article/details/90437605 ,再阅读本文。
主要难点:不同主机间的容器如何通讯。
解决方法:借助镜像 svendowideit/ambassador 完成通讯。 https://www.cnblogs.com/vikings-blog/p/4223462.html
本文参考:
环境:
-
CentOS Linux release 7.6.1810 (Core)
-
Docker version 18.09.3, build 774a1f4
创建时间:2019/6/7 16:25:36
创建人:于子源
修改记录:修改人+修改时间+修改说明(多人修改时,增加多条)
当前版本:version 1.0.0
host1(10.9.40.122)需要进行的操作(MySQL)
-
启动 MySQL
docker run \ -d \ -p 3307:3306 \ --name mysql \ -v /data/mysql/conf:/etc/mysql/conf.d \ -v /data/mysql/logs:/logs \ -v /data/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7
-
启动 ambassador
docker run -d \ --link mysql:mysql \ -p 1521:1521 \ --name ambassador \ svendowideit/ambassador:latest
host2(10.9.40.123)需要进行的操作(SonarQube)
-
启动 ambassador
docker run -d \ --name ambassador-mysql \ --expose 1521 \ -e MYSQL_PORT_1521_TCP=tcp://10.9.40.123:1521 \ svendowideit/ambassador:latest
-
启动 SonarQube
docker run \ -d \ --name sonarqube \ -p 9000:9000 \ -p 9092:9092 \ --link=ambassador-mysql:mysql \ -v /data/sonarqube/logs:/opt/sonarqube/logs \ -v /data/sonarqube/conf:/opt/sonarqube/conf \ -v /data/sonarqube/data:/opt/sonarqube/data \ -v /data/sonarqube/extensions:/opt/sonarqube/extensions \ -e SONARQUBE_JDBC_USERNAME=sonar \ -e SONARQUBE_JDBC_PASSWORD=sonar \ -e SONARQUBE_JDBC_URL="jdbc:mysql://10.9.40.122:3307/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" \ sonarqube:7.4-community
如何判断是否成功:
使用这个命令查看 SonarQube 是否成功启动。连接数据失败是无法启动 SonarQube 的。
docker logs -f 容器id