Docker 自定义tomcat9

目标:自定义tomcat9的镜像,并通过该镜像成功生成容器
准备工作:
1、安装了docker
2、准备apache-tomcat-9.0.19.tar.gzjdk-8u181-linux-x64.tar.gz压缩包
ps:文中马赛克掉的是因为我是安装完之后才写的这篇文章,有些文件一开始是没有的,不用担心影响操作流程。
pps:本文内容来自尚硅谷

1、创建一个文件夹,并将压缩包上传至该目录,并创建一个演示文件c.txt(文件没有作用,仅用于演示COPY命令需要)

形成这样的目录结构:
在这里插入图片描述

2、在/linchong/mydocker/tomcat9下编写Dockerfile文件

使用vim Dockerfile命令打开,粘贴下面文件内容,使用:wq保存退出

FROM centos
MAINTAINER linchong<714987173@qq.com>
#把宿主机上下文的c.txt拷贝到容器/usr/local下
COPY c.txt /usr/local/cincontainer.txt
#把jdk和tomcat添加到容器中
ADD jdk-8u181-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.19.tar.gz /usr/local
#安装vim编辑器
RUN yum -y install vim
#设置登录之后的落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置jdk和tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_181
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.19
ENV CATALINE_BASE /usr/local/apache-tomcat-9.0.19
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
#ENTRYPOINT ["/usr/local/apache-tomcat-9.0.19/bin/startup.sh"]
#CMD ["/usr/local/apache-tomcat-9.0.19/bin/startup.sh","run"]
CMD /usr/local/apache-tomcat-9.0.19/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.19/bin/logs/catalina.out

3、build镜像

完整写法:

docker build -f /linchong/mydocker/tomcat9/Dockerfile  -t lctomcat9 .

也可以省略为:

docker build -t lctomcat9 .

构建成功后可通过 docker images 命令查看到该镜像
在这里插入图片描述

4、运行镜像

运行指令:

docker run -d -p 9080:8080 -v /linchong/mydocker/tomcat9/test:/usr/local/apache-tomcat-9.0.19/webapps/test -v /linchong/mydocker/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.19/logs --privileged=true lctomcat9

指令参数解释:
-d 表示后台运行容器
-p 指定端口号。9080是主机对外暴露的端口号,8080是容器的端口号
-v 添加容器的镜像卷,使得主机的文件和容器中的文件能够共享
--privileged=true 防止没有写的权限
lctomcat9 这个是自定义的镜像名称

可以看到由该镜像生成的容器为:
在这里插入图片描述

5、测试

注意:记得打开防火墙的9080端口,如果是云主机要添加安全组规则9080
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值