我尝试从Docker部署我的应用程序。在Dockerfile中:
FROM tomcat:9-jre8-alpine
ADD config/tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
ADD config/settings.xml /usr/local/tomcat/conf/settings.xml
ADD config/context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml
ADD target/author.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD ["catalina.sh","run"]因此,在tomcat-users.xml中:
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd
http://tomcat.apache.org/xml "
version="1.0">
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>在settings.xml中:
<servers>
<server>
<id>TomcatServer</id>
<username>tomcat</username>
<password>s3cret</password>
</server>
</servers>在context.xml中:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" />
</Context>但是,尝试远程访问Tomcat管理器应用程序(plesk中的域名)时,我得到了这样的提示:“您没有权限查看此page.By默认设置管理器只能从与Tomcat相同的机器上运行的浏览器访问。如果您想要修改此限制,您需要编辑管理器的context.xml文件...”
另外:对于本地主机连接,它工作得很好!远程连接中的问题
发布于 2021-05-29 02:19:26
这对我很有效:
1-获取图像:
docker pull tomcat:9.0.46-jdk8-adoptopenjdk-openj92-创建文件夹d:\folder123
3-将conf\tomcat-users.xml和\webapps\manager\META-INF\context.xml复制到d:\folder123
4-添加到tomcat-users.xml中
<role rolename="manager-gui" />
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script" />5-从context.xml中删除以下内容
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />6-使用此内容在d:\folder123中创建Dockerfile
FROM tomcat:9.0.46-jdk8-adoptopenjdk-openj9
USER root
RUN mv /usr/local/tomcat/webapps/ /usr/local/tomcat/webapps2/
RUN mv /usr/local/tomcat/webapps.dist/ /usr/local/tomcat/webapps/
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
CMD ["catalina.sh","run"]7-创建名为amirimage1的新映像
docker build -t amirimage1:1.0.0 "D:\\folder123"8-运行图像
docker run --name amirtomcatcontainer1 -p 8889:8080 amirimage1:1.0.0发布于 2021-07-16 22:08:49
你检查过manager.xml中的阀值了吗?还有另一个带有IP限制的阀节,我已经禁用了它。然后/conf/Catalina/localhost/
https://stackoverflow.com/questions/59719168
复制相似问题