0
点赞
收藏
分享

微信扫一扫

DockerFile制作Tomcat镜像实战

伢赞 2022-04-15 阅读 85
docker

狂神视频参考地址

  • tomcat压缩包
  • jdk压缩包:因为tomcat是依赖于jdk的
  • 首先准备好需要的文件(需要的话去阿帕奇官网下载)
[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# ll
total 178964
-rw-r--r-- 1 root root  11560971 Apr 14 22:40 apache-tomcat-9.0.62.tar.gz
-rw-r--r-- 1 root root 183246769 Mar  2 13:48 jdk-8u121-linux-x64.tar.gz
  • 编写Dockerfile文件,命名是Dockerfile,这样启动的时候会自动寻找这个文件。不需要-f自己指定了。
[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# vim Dockerfile

FROM centos:7

MAINTAINER dongmu<2645990605@qq.com>

ADD jdk-8u121-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_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.62
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.62
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.62/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.62/bin/logs/catalina.out

  • 通过镜像文件构建镜像
    docker build -t diy-tomcat .:然后输出一大堆乱七八槽的,这里不展示了。

查看生成的镜像

[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# docker images
REPOSITORY          TAG       IMAGE ID       CREATED             SIZE
diy-tomcat          latest    aaebd8b23a95   2 minutes ago       811MB
centos-entrypoint   latest    8dc6dc13f20a   48 minutes ago      204MB
cmdtest             latest    529bc50c275f   About an hour ago   204MB
tomcat02            1.0       558f9dd09adf   13 hours ago        684MB
tomcat              latest    fb5657adc892   3 months ago        680MB
redis               latest    7614ae9453d1   3 months ago        113MB
mysql               5.7       c20987f18b13   3 months ago        448MB
centos              7         eeb6ee3f44bd   7 months ago        204MB
centos              latest    5d0da3dc9764   7 months ago        231MB

  • 启动镜像
[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# docker run -d -p 3344:8080 --name dongmutomcat -v /home/dongmu/build/tomcat/test:/usr/local/apache-tomcat-9.0.62/webapps/test -v /home/dongmu/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.62/logs diy-tomcat
3a18b556257cfddd492549d72629393c4977acf1c17938c1b1d87ad8a5dcf369

进入这个容器
[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# docker exec -it 3a18b556257c /bin/bash
[root@3a18b556257c local]# 

查看容器的内容
[root@3a18b556257c local]# ls
aegis  apache-tomcat-9.0.62  bin  etc  games  include  jdk1.8.0_121  lib  lib64  libexec  sbin  share  src
[root@3a18b556257c local]# cd apache-tomcat-9.0.62/
[root@3a18b556257c apache-tomcat-9.0.62]# ls
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  lib  logs  temp  webapps  work
[root@3a18b556257c apache-tomcat-9.0.62]# ll
total 148
-rw-r----- 1 root root 18980 Mar 31 14:34 BUILDING.txt
-rw-r----- 1 root root  6210 Mar 31 14:34 CONTRIBUTING.md
-rw-r----- 1 root root 57092 Mar 31 14:34 LICENSE
-rw-r----- 1 root root  2333 Mar 31 14:34 NOTICE
-rw-r----- 1 root root  3378 Mar 31 14:34 README.md
-rw-r----- 1 root root  6898 Mar 31 14:34 RELEASE-NOTES
-rw-r----- 1 root root 16497 Mar 31 14:34 RUNNING.txt
drwxr-x--- 2 root root  4096 Mar 31 14:34 bin
drwx------ 1 root root  4096 Apr 14 15:34 conf
drwxr-x--- 2 root root  4096 Mar 31 14:34 lib
drwxr-xr-x 2 root root  4096 Apr 14 15:16 logs
drwxr-x--- 2 root root  4096 Mar 31 14:34 temp
drwxr-x--- 1 root root  4096 Apr 14 15:34 webapps
drwxr-x--- 1 root root  4096 Apr 14 15:34 work
[root@3a18b556257c apache-tomcat-9.0.62]# cd weba
bash: cd: weba: No such file or directory
[root@3a18b556257c apache-tomcat-9.0.62]# cd webapps/
[root@3a18b556257c webapps]# ls
ROOT  docs  examples  host-manager  manager  test

  • 外网访问
    在这里插入图片描述
  • 容器外通过挂载的问文件发布项目
[root@iZwz9hv1phm24s3jicy8x1Z dongmu]# ll
total 190264
-rw-r--r-- 1 root root  11560971 Apr 14 22:40 apache-tomcat-9.0.62.tar.gz
drwxr-xr-x 3 root root      4096 Apr 14 23:09 build
-rw-r--r-- 1 root root       603 Apr 14 23:27 Dockerfile
drwxr-xr-x 2 root root      4096 Apr 14 15:21 docker-test-volume
drwxr-xr-x 8   10  143      4096 Dec 13  2016 jdk1.8.0_121
-rw-r--r-- 1 root root 183246769 Mar  2 13:48 jdk-8u121-linux-x64.tar.gz
drwxr-xr-x 2 root root      4096 Apr 14 22:14 mydockerfile

[root@iZwz9hv1phm24s3jicy8x1Z build]# ll
total 4
drwxr-xr-x 4 root root 4096 Apr 14 23:09 tomcat
[root@iZwz9hv1phm24s3jicy8x1Z build]# cd tomcat
[root@iZwz9hv1phm24s3jicy8x1Z tomcat]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 14 23:09 test
drwxr-xr-x 2 root root 4096 Apr 14 23:16 tomcatlogs
[root@iZwz9hv1phm24s3jicy8x1Z tomcat]# cd test
[root@iZwz9hv1phm24s3jicy8x1Z test]# ls
[root@iZwz9hv1phm24s3jicy8x1Z test]# ll
total 0

创建WEB-INF文件夹,然后编写web.xml文件
[root@iZwz9hv1phm24s3jicy8x1Z test]# mkdir WEB-INF
[root@iZwz9hv1phm24s3jicy8x1Z test]# cd WEB-INF/
[root@iZwz9hv1phm24s3jicy8x1Z WEB-INF]# vim web.xml
[root@iZwz9hv1phm24s3jicy8x1Z WEB-INF]# cat web.xml 
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	    xmlns="http://java.sun.com/xml/ns/j2ee" 
	        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
		            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
			            
 </web-app>
[root@iZwz9hv1phm24s3jicy8x1Z WEB-INF]# cd ..
[root@iZwz9hv1phm24s3jicy8x1Z test]# vim index.jsp 
[root@iZwz9hv1phm24s3jicy8x1Z test]# cat index.jsp 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
	    <head>
		    <meta charset="utf-8">
		    <title>hello, dongmu,You will succeed oneday!</title>
	    </head>
	    <body>
		    Hello World!<br/>
		    hello, dongmu,You will succeed oneday!
		    <br/>
		    <%
		    System.out.println("-----donmu's test web logs------");
		    %>
		    </body>
	    </html>
  • 通过外网访问(哈哈哈,成功了)
    在这里插入图片描述
  • 查看日志
[root@iZwz9hv1phm24s3jicy8x1Z test]# cd ..
[root@iZwz9hv1phm24s3jicy8x1Z tomcat]# cd tomcatlogs/
[root@iZwz9hv1phm24s3jicy8x1Z tomcatlogs]# ls
catalina.2022-04-14.log  catalina.out  host-manager.2022-04-14.log  localhost.2022-04-14.log  localhost_access_log.2022-04-14.txt  manager.2022-04-14.log
[root@iZwz9hv1phm24s3jicy8x1Z tomcatlogs]# cat catalina.out 
14-Apr-2022 15:16:27.129 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.62
14-Apr-2022 15:16:27.156 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Mar 31 2022 14:34:15 UTC
14-Apr-2022 15:16:27.156 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.62.0
14-Apr-2022 15:16:27.156 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
14-Apr-2022 15:16:27.156 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            5.10.60-9.al8.x86_64
14-Apr-2022 15:16:27.156 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
。。。。。。
14-Apr-2022 15:34:13.089 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-9.0.62/webapps/test]
14-Apr-2022 15:34:13.178 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.62/webapps/test] has finished in [89] ms
14-Apr-2022 15:34:13.184 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
14-Apr-2022 15:34:13.202 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1242] milliseconds
14-Apr-2022 15:46:23.393 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.reload Reloading context [/test]
14-Apr-2022 15:46:23.393 INFO [Catalina-utility-1] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/test] has started
14-Apr-2022 15:46:23.445 INFO [Catalina-utility-1] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/test] is completed
-----donmu's test web logs------
-----donmu's test web logs------
-----donmu's test web logs------

可以看到我们的日志输出了。

要掌握dockerfile的编写。

举报

相关推荐

0 条评论