docker篇-3(docker安装tomcat2)

基于Dockerfile构建tomcat容器

下载tomcat.tar.gz包

wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz
# 解压
tar zxvf apache-tomcat-9.0.44.tar.gz

配置tomcat管理界面以及用户

修改manager host-manage目录的下级目录META-INFO下面的context.xml文件,开启管理页面
替换以下内容到context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

进入tomcat下的conf目录,替换以下内容到tomcat-users.xml

<?xml version="1.0" encoding="UTF-8"?>
<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="admin-gui"/>
    <role rolename="admin-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <!-- 配置角色和账号,manager-gui是manager管理界面,admin-gui是admin管理界面 -->
    <user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
</tomcat-users>

编写Dockerfile文件

dockerfile和tomcat必须处于同级目录

FROM adoptopenjdk/openjdk11:x86_64-alpine-jre-11.0.9_11
MAINTAINER lhstack@foxmail.com # dockerfile维护人员
LABEL version=0.0.1 #定义标签
LABEL gitee="https://gitee.com/myprofile"
 #定义tomcat
ENV TOMCAT_APP apache-tomcat-9.0.44
 #定义tomcat工作目录
ENV WORKDIR /opt/tomcat
# tomcat启动会加载这个环境变量
ENV JAVA_OPTS "-Xmx128m -Xms128m -Xmn32m -Xss512k  -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=$WORKDIR/error -Duser.timezone=Asia/Shanghai" 
#挂载error目录
VOLUME /opt/tomcat/error
# 配置时区
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
        && apk update \
        && apk add --no-cache tzdata \
        && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 # 设置时区
ENV TZ Asia/Shanghai
# 设置工作目录
WORKDIR $WORKDIR
# 将tomcat拷贝到工作目录
COPY $TOMCAT_APP .
# 暴露端口
EXPOSE 8080
# 启动tomcat
CMD $WORKDIR/bin/catalina.sh run

构建tomcat镜像

当前目录如下图,tomcat和Docker必须处于同级目录
docker篇-3(docker安装tomcat2)
执行构建命令,构建tomcat

# -t 设置镜像的tag标签
docker build -t tomcat:9.0.44-alpine .

构建完成效果如下
docker篇-3(docker安装tomcat2)

启动容器

docker run --name tomcat -p 8080:8080 -d tomcat:9.0.44-alpine

docker篇-3(docker安装tomcat2)

访问页面

docker篇-3(docker安装tomcat2)

Manager App页面

需要输入用户名和密码,刚刚自定义的是tomcat 123456
docker篇-3(docker安装tomcat2)

HostManager

docker篇-3(docker安装tomcat2)

Server Status

docker篇-3(docker安装tomcat2)

上一篇:网络数据修改工具netsed


下一篇:月测一