实战Dockerfile构建Tomcat镜像
前言
再上一篇博客总结了CMD与ENTRYPOINT区别感兴趣可以进行访问。CMD与ENTRYPOINT的区别
准备镜像文件
1.首先我们需要准备两个文件分别是tomcat和jdk。tomcat和jdk可以在官网进行下载。
Tomcat官网
JDK下载官网
2.将下载好的文件或者是压缩包上传到虚拟机中。我这儿上传的是我的XShell中。
如何将文件上传到xShell,在Xshell新建会话中选择SFTP协议,这个协议主要是用来传输文件的。
进入虚拟机之后,直接将下载好的文件拖到屏幕中就完成文件上传了。
如图:
编写Dockerfile
1.在目录下创建一个名为Dockerfile的文件,命名为Docekrfile的好处是,是官方的命名不用在构建的时候添加其他命令。
关于Dockerfile的命令可以访问Docker的文档进行查看和学习Docker docs
2.编辑Dockerfile 难点是配置环境变量
FROM centos:centos7 MAINTAINER wangwei<2532076303qq.com> COPY readme.txt /usr/local/readme.txt ADD jdk-8u231-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.62.tar.gz /usr/local/ RUN yum -y install vim ENV MYPATH /usr/local/ WORKDIR $MYPATH ENV JAVA_HOME /usr/local/jdk1.8.0_231 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.62 ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.62 ENV PATH $PATH:$JAVA_HOME/bin:$CTALINA_HOME/lib/:$CATALINA_HOME/bin EXPOSE 8080 CMD /usr/local/apache-tomcat-9.0.62/bin/startup.sh && tail -F /url/local/usr/local/apache-tomcat-9.0.62/bin/logs/catalina.out
- 构建镜像
# 因为dockerfile命名使用默认命名 因此不用使用-f 指定文件 docker build -t diytomcat .
- run镜像,同时进行数据卷挂载
docker run -d -p 9090:8080 --name wagnweitomcat -v /home/wangwei/test:/usr/local/apache-tomcat-9.0.62/webapps/test -v /home/wangwei/tomcatlogs:/usr/local/apache-tomcat-9.0.62/logs diytomcat
查看时候成功运行
5. 进行测试
curl localhost:9090
最后在进行外网访问ip+端口号