解决Alpine为基础镜像的docker环境下无法运行sonar-scanner命令的问题
2018-01-10 15:49
766 查看
最近在使用sonar-scanner对代码做静态分析,用着不错,并决定将其封装到docker环境下,dockerhub上也有现成的镜像,可以直接去dockerhub拉取,本文在sonarqube官网上下载了sonar-scanner-3.0.3.778-linux包并将其封装到Alpine基础镜像之后,运行docker后,进入容器,提示找不到jre/bin/java
报错信息:sonar-scanner:exec: line 73: xxx/sonar-scanner-3.0.3.778-linux/jre/bin/java: not found
之前出现过类似的问题,怀疑是少装了包,于是根据以往的经验上,添加了g++和gcc,然后尝试执行sonar-scanner,还是不行,于是在网上找了一番,没有得到满意的答案,于是去docker-hub上找基于alpine的sonar-scanner镜像,也没看出个所以然来,后来在https://github.com/newtmitch/docker-sonar-scanner/blob/master/Dockerfile.sonarscanner-3.0.3-alpine对应 的Dockerfile中发现,
查看Dockerfile,发现在文件中有一句
RUN sed -i 's/use_embedded_jre=true/use_embedded_jre=false/g' /root/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner
才找到原因,sonar-scanner默认会使用自己提供的jre,而不会使用系统环境下的jre, 只需要将开关关闭,也即修改sonar-scanner运行脚本中的参数use_embeded_jre为:use_embedded_jre=false即可
最后问题得到解决
报错信息:sonar-scanner:exec: line 73: xxx/sonar-scanner-3.0.3.778-linux/jre/bin/java: not found
之前出现过类似的问题,怀疑是少装了包,于是根据以往的经验上,添加了g++和gcc,然后尝试执行sonar-scanner,还是不行,于是在网上找了一番,没有得到满意的答案,于是去docker-hub上找基于alpine的sonar-scanner镜像,也没看出个所以然来,后来在https://github.com/newtmitch/docker-sonar-scanner/blob/master/Dockerfile.sonarscanner-3.0.3-alpine对应 的Dockerfile中发现,
查看Dockerfile,发现在文件中有一句
RUN sed -i 's/use_embedded_jre=true/use_embedded_jre=false/g' /root/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner
才找到原因,sonar-scanner默认会使用自己提供的jre,而不会使用系统环境下的jre, 只需要将开关关闭,也即修改sonar-scanner运行脚本中的参数use_embeded_jre为:use_embedded_jre=false即可
最后问题得到解决
相关文章推荐
- docker实战1 (docker-toolbox的安装,docker基础命令详解[运行,容器导入/导出,镜像导入/导出,数据卷,网络],构建100个docker实例的测试环境)
- WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
- 解决aapt命令在Linux下无法运行的问题
- 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
- Ubuntu解决运行startx命令后出现登陆密码正确但无法进入桌面问题
- 解决docker镜像无法下载的问题
- MAC上搭建Windows Phone 8 开发环境——VMware Fusion下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
- Docker 1.7 在 centos6.5 内核2.6.32 系统 镜像无法启动问题解决
- 【081】使用Nginx的官方Docker镜像,启动容器后无法显示自己网站页面,总显示Nginx官方默认页面的问题的解决方法
- 由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法
- 解决普通用户无法使用docker命令的问题
- 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
- 【Dockerfile】CentOS6.x中Docker通过Dockerfile构建常用的基础环境 # 设置基本的镜像,后续命令都以这个镜像为基础 FROM centos # 作者信息 MAI
- 解决无法在java程序中运行cmd命令的问题
- 解决无法docker镜像无法上传的问题
- 解决Ubuntu中root权限下无法运行Java相关命令的问题
- 从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备
- 解决docker镜像无法下载的问题
- 解决adb无法在ubuntu14.10 64位环境运行的问题
- 开发环境下调试没有问题,发布后运行却提示无法更新数据库 *.MDF,因为数据库是只读的解决方法