【发布时间】:2017-07-30 06:04:18
【问题描述】:
更新:清理并直接指出问题和解决方案。
问题:
Docker-tomcat 已正确安装并运行,但 Manager App 中出现 403 Access 错误。看来我的 docker tomcat 也找不到我的 tomcat-users.xml 配置。
解决方案
[文件]:
Dockerfile
FROM tomcat:8.5.11
MAINTAINER Borgy Manotoy <borgymanotoy@ujeaze.com>
# Update Apt and then install Nano editor (RUN can be removed)
RUN apt-get update && apt-get install -y \
nano \
&& mkdir -p /usr/local/tomcat/conf
# Copy configurations (Tomcat users, Manager app)
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
Tomcat 用户配置 (conf/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"
version="1.0">
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="password" roles="manager-gui,manager-script" />
</tomcat-users>
应用程序上下文 (webapps/manager/META-INF/context.xml)
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
[步骤和命令]:
-
构建 Docker 镜像
docker build -t borgymanotoy/my-tomcat-docker 。
-
运行镜像(my-tomcat-docker 并将端口设置为 8088)
docker run --name my-tomcat-docker-container -p 8088:8080 -it -d borgymanotoy/my-tomcat-docker
-
转到容器的 bash(通过 bash 检查容器内的文件)
docker exec -it biyahe-tomcat-docker-container bash
【问题讨论】:
标签: docker dockerfile tomcat8