docker - 在 tomcat docker 映像部署到 openshift 容器时出现权限被拒绝错误 - /usr/local/tomcat/conf/web.xml(权限被拒绝)
问题描述
这是我的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)
解决方案
我们必须添加权限才能以 root 启动 tomcat。
oc adm policy add-scc-to-user anyuid -z default
它应该工作。
推荐阅读
- oracle - 如何删除替换字符串的一部分?
- docker - SpringBoot 应用容器无法执行 pdbedit 命令
- php - http 重定向到 index.php 而不是 https
- javascript - 如何在节点 js 中包含文件并在其中执行函数
- amazon-web-services - 我们如何保护 aws s3 免受数据损坏
- django - Django OAuth 和 SAML
- gerrit - Able to sign-in any user in gerrit
- javascript - 如何将 react-loadable 与 react-router 一起使用?
- javascript - 在地图视口中显示所有地理地图标记
- android - 如何从 api 响应中获取令牌(react-native)