我需要使用tomcat: Openshift原点的最新图片。我知道这个映像是以root用户的身份运行的,但是我希望它能够通过向开发人员用户授予集群管理权限来工作:
$ oadm policy add-cluster-role-to-user cluster-admin developer 不幸的是我还是得到了一个:
Jan 26, 2017 8:05:34 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/local/tomcat/conf/server.xml]
Jan 26, 2017 8:05:34 AM org.apache.catalina.startup.Catalina load
WARNING: Permissions incorrect, read permission is not allowed on the file.
Jan 26, 2017 8:05:34 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/local/tomcat/conf/server.xml]
Jan 26, 2017 8:05:34 AM org.apache.catalina.startup.Catalina load
WARNING: Permissions incorrect, read permission is not allowed on the file.
Jan 26, 2017 8:05:34 AM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.有什么办法能让我避开这件事吗?谢谢
发布于 2017-01-26 13:17:52
OpenShift本身中有用户(如您的示例中的developer )和用于运行容器的用户。他们不一样。
您使用的命令用于第一种类型的用户。您所需要的是配置Security约束(SCC),以允许developer使用任何UID运行容器(这里我是指存在于主机操作系统中的系统用户)。
您可以在文档中找到更多的有关SCC的信息及其管理方法。
发布于 2018-08-28 11:26:37
您可以使用正式的tomcat映像,而无需使用Docker构建策略来提升权限。您必须使root组拥有的所有tomcat文件(如官方文件中所述)支持任意用户in部分。
我有以下带有官方tomcat高寒图像的docker文件,其中删除所有默认应用程序,递归地更改tomcat目录的所有权,然后在webapp中复制我的工件。
FROM tomcat:jre8-alpine
RUN rm -rf /usr/local/tomcat/webapps/* && \
chgrp -R 0 /usr/local/tomcat/ && \
chmod -R g=u /usr/local/tomcat/
ADD ROOT.war /usr/local/tomcat/webapps/只需确保应用程序没有将日志写入/var/log或默认的tomcat文件夹之外的某个地方,或者以类似的方式调整这些文件夹的所有权。
https://stackoverflow.com/questions/41869212
复制相似问题