Docker安装镜像踩坑记录

Docker安装镜像踩坑记录

运行失败的日志信息

image-20211014224711261

image-20211014233032570

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

image-20211014213940518

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

image-20211014214224422

百度无果后,放弃使用9.0版本。回退到7.6版本。

1.3上传文件发现提示权限信息

提示权限信息后,放弃使用外部的镜像,决定保存已经使用好的镜像。

image-20211015135030674

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”

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值