运动tomcat容器报错
从dockerhub官方拉的镜像,按理说应该不会是没有这个文件,/bin/bash启动了一下,将/usr/local/tomcat路径下的文件cp到本机,发现setclasspath.sh存在
docker cp 容器TD:/usr/local/tomcat /data/tomcat1
但是为什么找不到呢
看到了这个文章,就试了一下,问题解决了
https://blog.csdn.net/gsls200808/article/details/126460203
问题如下:
在catalina.sh脚本中,导致问题的部分如下:
[-r]这个命令表示测试文件是否只读,类似[-x]测试这个文件是否可执行
在此docker中,-r命令调用不正常
解决方法
1、--privileged运行容器(暂时针对性解决这个问题)
docker run --privileged=true tomcat:8
2、更新 runc >= 1.0.0-rc93
下载地址:
https://github.com/opencontainers/runc/releases/
可以直接下载包,也可以下载源码,在本地make,此次是在本地make(本次make需要用到go、git,先确保已安装)
cd /data/make
git clone https://github.com/opencontainers/runc.git
cd runc
make
备份并更换runc
whereis runc
mv /usr/bin/runc /usr/bin/runc.bak #备份原runc文件
cd /data/make/runc/
cp runc /usr/bin/runc
systemctl restart docker #重启docker
runc的版本已经更新
然后再运行,就正常运行啦
原文链接:https://blog.csdn.net/weixin_68477851/article/details/137114721
处理方式连接2
https://h2c.tech/p/%E9%BA%92%E9%BA%9F%E7%B3%BB%E7%BB%9Ftomcat%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8/
标签:bin,tomcat,setclasspath,runc,sh,usr,https,docker From: https://www.cnblogs.com/lvjinlin/p/18137457