这是我的Dockerfile内容。当我在本地运行它时,效果很好,但是当我尝试将其部署在openshift container上时,会引发permission denied错误

    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"]

和错误
    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)

最佳答案

openshift网站上可能存在某些策略,这些策略不允许您以特权模式运行容器(例如,使用root帐户运行进程)

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

关于docker - 将tomcat docker镜像部署到openshift容器上的权限被拒绝的错误-/usr/local/tomcat/conf/web.xml(权限被拒绝),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60262380/

10-16 21:31