Docker安装镜像踩坑记录
文章目录
运行失败的日志信息
ERROR: could not find java in ES_JAVA HOME at /usr/lib/jvm/java-11-openjdk/bin/java
ERROR: org.sonar.application.config. AppSett ingsLoaderImpl - Confiquration file not found: /opt/sonarqube/conf/sonar .properties
docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:7.8.0
docker pull elasticsearch:7.8.0
docker run --name sonarqube --restart=always -p 9000:9000 -d sonarqube:9.1.0-community
1.运行成功的日志:
1.2猜测一:Java的环境变量设置有误
查看jvm内存信息。内存充足,内存不成为问题。因为实在容器中运行,环境变量不成为问题。
could not find java in ES_ JAVA HOME at /usr/lib/jvm/java-11-openjdk/bin/java
1.2猜测二:容器存在问题
进入容器后,发现存在相应的文件夹目录。容器没有问题。
bash-5.1# cd usr
bash-5.1# ls
bin lib libexec local sbin share
bash-5.1# cd lib
bash-5.1# cd jvm
bash-5.1# ls
default-jvm java-11-openjdk
bash-5.1# cd java-11-openjdk/
bash-5.1# ls
ASSEMBLY_EXCEPTION README conf legal release
LICENSE bin jre lib
bash-5.1# cd bin
bash-5.1# ls
java jjs keytool pack200 rmid rmiregistry unpack200
百度无果后,放弃使用9.0版本。回退到7.6版本。
1.3上传文件发现提示权限信息
提示权限信息后,放弃使用外部的镜像,决定保存已经使用好的镜像。
2.保存镜像踩坑
# 思路
# 1.先安装相应的插件后 2.commit容器的修改信息保存为镜像 3.保存容器镜像为tar文件
# 4.停止容器 5.删除容器的运行 6.删除已有的镜像信息 7.load镜像 8.运行镜像
# 最后查看信息是否有保存成功!
docker commit -a "naumy" -m "插件安装" 2332e2c0c73c sonar:v7.6
docker save -o sonar7.6.tar sonar:v7.6
docker stop 2332e2c0c73c
docker rm 2332e2c0c73c
docker rmi sonar:v7.6
docker load -i sonar7.6.tar
docker run -d -p 9000:9000 sonar:v7.6
# 踩坑信息、插件需要cp到容器内部的命令 容器内部插件地址 /opt/sonarqube/extensions/plugins
docker cp D:\extensions\plugins\sonar-findbugs-plugin-4.0.0.jar 2332e2c0c73c:/opt/sonarqube/extensions/plugins
# 运行容器
docker run -d -p 9000:9000 sonarqube:7.6-community
# 运行带有挂载数据卷
docker run --name sonarqube --restart=always -v D:\extensions:/opt/sonarqube/extensions -p 9000:9000 -d sonarqube:7.6-community
# 创建网桥
docker network create -d bridge sonarnet
# 删除网桥
docker network rm 网桥名称
3.历史脏数据冲突:
历史脏数据冲突:
报错:
Web server startup failed: Current version is too old. Please upgrade to Long Term Support version firstly.
解决办法: 清理历史数据(因首次安装,直接drop掉sonar表,然后重建),然后重启sonar即可!
4.通过docker cp将本地文件拷贝到容器后,导致容器无法启动
解决方法:
1、通过docker inspect找到本地挂载路径,该方法不一定有效,有时找不到挂载路径。
2、本地通过find命令查找文件,将对应目录下文件删除
find / -name “sonar-pmd-plugin-2.6.jar”