docker篇-(docker安装tomcat)

查找tomcat镜像

docker search tomcat

拉取镜像

# 通过上面查找的镜像,我们拉取下载数最多的tocmat镜像
docker pull tomcat

启动tomcat,测试是否正常访问

#--name 指定容器名称,可以当做id使用 
#-p是容器端口与宿主机端口进行绑定,如第一个8080就是宿主机端口,第二个就是容器里面的端口
#-d代表容器后台启动
docker run --name tomcat -p 8080:8080 -d tomcat

在这里插入图片描述
在这里插入图片描述

通过浏览器访问,查看tomcat,可以看到,页面访问的是404,因为这个tomcat为我们清理了默认提供的所有页面,这里我们关掉tocmat容器,并重新启动一个tomcat,然后挂载一个war包到webapps下面,查看启动效果

我们挂载一个demo.war的项目
在这里插入图片描述
启动并访问浏览器查看效果

docker rm -f tomcat # 关闭之前的tomcat
# 启动一个新的tomcat,并挂载webapps
# -v 同 -volume,挂载一个目录或者文件到容器里面
docker run --name tomcat -v ${PWD}/tomcat/webapps:/usr/local/tomcat/webapps -p 8080:8080 -d tomcat

在这里插入图片描述

对tomcat进行参数优化

执行 docker ps可以看到,tomcat容器执行的是catalina.sh run启动tomcat的,所以我们进入容器,去查看这个脚本做了什么

docker exec -ti tomcat bash
cat bin/catalina.sh

找到JAVA_OPTS这一行注释说明
在这里插入图片描述
这里说的是,设置java运行时的选项,继承他而不包含CCATALINA_OPS的选项,我们通过这个参数来对jvm进行优化,
关闭之前的容器,在容器上面添加JVM_OPTS的参数设置

docker rm -f tomcat
docker run --name tomcat -v ${PWD}/tomcat/webapps:/usr/local/tomcat/webapps -v ${PWD}/tomcat/error:/opt/tomcat/error -e JAVA_OPTS="-Xmx128m -Xms128m -Xmn32m -Xss512k  -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/opt/tomcat/error -Duser.timezone=Asia/Shanghai" -p 8080:8080 -d tomcat
# -Xmx128 这里设置jvm能使用的最大内存为128m
# -Xms128 设置jvm初始内存为128m,和-Xmx设置一样,防止jvm内存多次扩容带来的消耗
# -Xmn32m 设置年轻代内存大小,根据实际情况设置即可
# -Xss512k 设置线程堆栈大小
# -XX:+HeapDumpOnOutOfMemoryError 开启jvm内存泄漏的堆栈导出
# -XX:HeapDumpPath=/opt/tomcat/error 设置堆栈导出的目录

查看容器启动日志,查找设置的参数是否生效

docker logs -f tomcat

可以看到,设置的参数,在tomcat日志中已经打印出来
在这里插入图片描述
进入容器,查看tomcat启动命令,是否携带设置的参数

# -ti 已交互的方式启动容器 bash,容器支持的shell解释器
docker exec -ti tomcat bash
ps -ef | grep tomcat

能够看到,在java启动的时候,已经把这些参数设置进去了
在这里插入图片描述

下一期实现基于Dockerfile构建自定义tomcat容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值