docker篇-(docker安装tomcat-基于Dockerfile构建tomcat)

以下所有内容打包资源
附加此次部署的tomcat,ssl,docker-compose所有内容
tomcat-deploy-docker

下载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
# dockerfile维护人员
MAINTAINER lhstack@foxmail.com 
#定义标签
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必须处于同级目录
在这里插入图片描述
执行构建命令,构建tomcat

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

构建完成效果如下
在这里插入图片描述

启动容器

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

在这里插入图片描述

访问页面

在这里插入图片描述

Manager App页面

需要输入用户名和密码,刚刚自定义的是tomcat 123456
在这里插入图片描述

HostManager

在这里插入图片描述

Server Status

在这里插入图片描述

附加docker-compose配置一份

version: '3'
services:
  tomcat: 
    build: .
    image: tomcat:9.0.44-alpine
    container_name: tomcat
    ports:
    - 8080:8080
    networks:
      tomcat:
        ipv4_address: "10.10.10.80" #固定ip
networks: #配置网卡
  tomcat: #网卡名称
    driver: bridge #网卡驱动
    ipam:
      driver: default
      config:
      - subnet: 10.10.0.0/16 #配置子网
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值