Docker | 基于docker安装tomcat

  说明:Docker安装详见《docker的安装与更换yum源》教程

一、拉取官方tomcat

1.1 查看docker镜像

docker search tomcat

在这里插入图片描述

1.2 拉取tomcat镜像

1.2.1默认拉取最新版

docker pull tomcat

1.2.2 拉取官方特定版本

docker pull tomcat:[tag]

1.2.3 拉取个人特定版本(阿里仓库)

  1. 登录阿里云Docker Registry
sudo docker login --username=白衣卿相2744 registry.cn-shanghai.aliyuncs.com

用于登录的用户名为阿里云账号全名
密码为开通服务时设置的密码点击查看
您也可以在访问凭证页面修改凭证密码。

  1. 从Registry中拉取镜像
sudo docker pull registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:[镜像版本号]

二、启动tomcat

2.1 创建挂载目录

mkdir /usr/local/docker/tomcat

2.2 复制挂载文件

2.2.1 全部挂载

  1. 先启动用于复制文件的docker_tomcat 容器
docker run -d -p 80:80 --name tomcattest --restart=always registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:80.1
  1. 查看容器
 docker ps  
  1. 复制容器中的文件到宿主机
docker cp [ID]:/usr/local/tomcat /usr/local/docker/

2.2.2 部分挂载

  1. 先启动用于复制文件的docker_tomcat 容器
docker run -d -p 80:80 --name tomcattest --restart=always registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:80.1
  1. 查看容器
 docker ps  
  1. 复制容器中的文件到宿主机
docker cp [ID]:/usr/local/tomcat/conf /usr/local/docker/tomcat/
docker cp [ID]:/usr/local/tomcat/logs /usr/local/docker/tomcat/
docker cp [ID]:/usr/local/tomcat/webapps /usr/local/docker/tomcat/

2.3 启动容器

  1. 主机模式,挂载整个tomcat
    官方镜像

docker run -d --network=host --hostname=localhost --name=tomcat8.5.57 --restart=always -v /usr/local/docker/tomcat:/usr/local/tomcat -v /etc/localtime:/etc/localtime tomcat:8.5.57

docker run -d \
-v /usr/local/docker/tomcat:/usr/local/tomcat \
--network=host \
--restart=always \
--name tomcat \
registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:80.1
  1. 桥接模式,挂载整个tomcat
docker run  \
-d -p 80:80 \
-v /usr/local/docker/tomcat:/usr/local/tomcat \
--network=host \
--name tomcat \
--restart=always \
registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:80.1
  1. 桥接模式,挂载部分目录
docker run \
-d -p 80:80 \
-v /usr/local/docker/tomcat/logs/:/usr/local/tomcat/logs/  \
-v /usr/local/docker/tomcat/conf/:/usr/local/tomcat/conf/ \
-v /usr/local/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ \
--name tomcat \
--restart=always \
registry.cn-shanghai.aliyuncs.com/dockerbin/tomcat:80.1

三、验证tomcat

  1. 查看tomcat页面(下图为部署成功)
    在这里插入图片描述
  2. 验证挂载的文件(下图为文件生效)
    在这里插入图片描述在这里插入图片描述

四、查看日志

docker logs -f -t --since="2020-02-29" --tail=100 [ID]

在这里插入图片描述

五、Tomcat 配置

5.1 tomcat 调优

5.1.1 java bin 中优化(此步骤在docker中已经进行优化)

5.1.2 server 文件优化

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxThreads="400"
               minSpareThreads="50"
               maxSpareThreads="200"
               acceptCount="400"
               enableLookups="false"
               disableUploadTimeout="true"
                                         />

在这里插入图片描述

5.1.3 JVM 优化

此处在$tomcat_home/bin中,新增setenv.sh并授予权限
注:此处配置需放在一行

JAVA_OPTS="-server -Xms10240m -Xmx10240m -Xmn2048m -XX:MetaspaceSize=2048M -XX:MaxMetaspaceSize=2048M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/appl/gc.log -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"

JAVA_OPTS="-server \
-Xms10240m -Xmx10240m -Xmn2048m \
-XX:MetaspaceSize=2048M \
-XX:MaxMetaspaceSize=2048M \
-XX:+UseConcMarkSweepGC \
-XX:+CMSClassUnloadingEnabled \
-XX:+HeapDumpOnOutOfMemoryError \
-verbose:gc \
-XX:+PrintGCDetails \
-XX:+PrintGCTimeStamps \
-XX:+PrintGCDateStamps \
-Xloggc:/appl/gc.log \
-XX:CMSInitiatingOccupancyFraction=75 \
-XX:+UseCMSInitiatingOccupancyOnly \
-Djava.awt.headless=true"

5.1.4 docker 时间调整

docker exec -it tomcat8.5.57 /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值