首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将tomcat docker映像部署到openshift容器时出现权限被拒绝错误- /usr/local/tomcat/conf/web.xml (权限被拒绝)

将tomcat docker映像部署到openshift容器时出现权限被拒绝错误- /usr/local/tomcat/conf/web.xml (权限被拒绝)
EN

Stack Overflow用户
提问于 2020-02-17 20:22:02
回答 3查看 1.5K关注 0票数 2

这是我的Dockerfile内容。当我在本地运行它时,它工作得很好,但是当我尝试将它部署到openshift container上时,它抛出了permission denied错误

代码语言:javascript
复制
    FROM tomcat:8.0.36-jre8
    CMD groupadd -r myuser -g 501
    CMD useradd -d /home/myuser -u 501 -m -s /bin/bash -g myuser myuser
    CMD chown -R myuser:myuser /usr/local/tomcat
    ADD target/ui-1.0.war /usr/local/tomcat/webapps/
    ADD docker-tomcat-conf/server.xml /usr/local/tomcat/conf/
    ADD docker-tomcat-conf/web.xml /usr/local/tomcat/webapps/manager/WEB-INF
    EXPOSE 8080
    CMD chmod +x /usr/local/tomcat/bin/catalina.sh
    ENTRYPOINT ["catalina.sh", "run"]

和错误

代码语言:javascript
复制
    Parse error in application web.xml file at file:/usr/local/tomcat/conf/web.xml
java.io.FileNotFoundException: /usr/local/tomcat/conf/web.xml (Permission denied)
    at java.io.FileInputStream.open0(Native Method)
EN

回答 3

Stack Overflow用户

发布于 2020-02-17 20:45:13

代码语言:javascript
复制
FROM tomcat:8.0.36-jre8
RUN groupadd -r myuser -g 501
RUN useradd -d /home/myuser -u 501 -m -s /bin/bash -g myuser myuser
RUN chown -R myuser:myuser /usr/local/tomcat
ADD target/ui-1.0.war /usr/local/tomcat/webapps/
ADD docker-tomcat-conf/server.xml /usr/local/tomcat/conf/
ADD docker-tomcat-conf/web.xml /usr/local/tomcat/conf/
EXPOSE 8080
RUN chmod +x /usr/local/tomcat/bin/catalina.sh
ENTRYPOINT ["catalina.sh", "run"]

首先,您需要用RUN语句替换CMD命令。

另外,你不是遗漏了一个/

代码语言:javascript
复制
docker-tomcat-conf/web.xml /usr/local/tomcat/webapps/manager/WEB-INF

我想这应该是

代码语言:javascript
复制
docker-tomcat-conf/web.xml /usr/local/tomcat/webapps/manager/WEB-INF/

代码语言:javascript
复制
docker-tomcat-conf/web.xml /usr/local/tomcat/webapps/manager/WEB-INF/web.xml

/usr/local/tomcat/webapps/manager/WEB-INF/不应该是/usr/local/tomcat/conf/吗?

票数 0
EN

Stack Overflow用户

发布于 2020-02-17 21:10:45

openshift站点上可能有一些策略不允许您在特权模式下运行您的容器(例如,使用root帐户运行进程)

您必须找出哪个用户启动了tomcat (请参阅openshift策略,请咨询您的集群管理员),并使用Dockerfile中的chown和/或chmod相应地调整所有必要的文件和文件夹权限。

票数 0
EN

Stack Overflow用户

发布于 2021-01-25 13:40:27

我们必须添加权限才能用root启动tomcat。

代码语言:javascript
复制
oc adm policy add-scc-to-user anyuid -z default

应该能行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60262380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档