【Docker】九、制作自己的Tomcat镜像

166 阅读1分钟

步骤

准备镜像文件。tomcat压缩包、jdk压缩包!

image.png

编写dockerfile文件,官方推荐名字Dockerfile,使用该名字build的时候就不需要用-f去指定dockerfile

FROM ubuntu

MAINTAINER GY_Joker<sankejuzi@163.com>

COPY readme.txt /usr/local/readme.txt

# ADD 命令会自动解压
ADD jdk-17.tar.gz /usr/local/java/  
ADD tomcat-10.tar.gz /usr/local/tomcat/ 

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/java/jdk-17.0.1
ENV CLASS_PATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-10.0.14
ENV CATALINA_BASH /usr/local/tomcat/apache-tomcat-10.0.14
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/tomcat/apache-tomcat-10.0.14/bin/startup.sh && tail -F /usr/local/tomcat/apache-tomcat-10.0.14/logs

构建镜像

root@lsMusKVEqm:/home/mytomcat# docker build -t mytomcat .
Sending build context to Docker daemon  524.8MB
Step 1/16 : FROM ubuntu
 ---> ba6acccedd29
Step 2/16 : MAINTAINER GY_Joker<sankejuzi@163.com>
 ---> Running in e17a2c393f7d
Removing intermediate container e17a2c393f7d
 ---> fa009dae7daf
Step 3/16 : COPY readme.txt /usr/local/readme.txt
 ---> cdbcbce34a64
Step 4/16 : ADD jdk-17.tar.gz /usr/local/java/
 ---> a51886aeacf7
Step 5/16 : ADD tomcat-10.tar.gz /usr/local/tomcat/
 ---> c524f0f9f3aa
Step 6/16 : RUN apt-get update
 ---> Running in ed4ede4960fd

...

Unpacking net-tools (1.60+git20180626.aebd88e-1ubuntu1) ...
Setting up net-tools (1.60+git20180626.aebd88e-1ubuntu1) ...
Removing intermediate container f353943cb761
 ---> 340c6c30e6d4
Step 9/16 : ENV MYPATH /usr/local
 ---> Running in fe330bdb0c37
Removing intermediate container fe330bdb0c37
 ---> 7226bcec40d8
Step 10/16 : WORKDIR $MYPATH
 ---> Running in aa74728af9c1
Removing intermediate container aa74728af9c1
 ---> 4c9ebc842000
Step 11/16 : ENV JAVA_HOME /usr/local/java/jdk-17.0.1
 ---> Running in 26adfbd76e3c
Removing intermediate container 26adfbd76e3c
 ---> 5f70098e0867
Step 12/16 : ENV CLASS_PATH $JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar
 ---> Running in d1db4c1dc1d2
Removing intermediate container d1db4c1dc1d2
 ---> a034a72d90b8
Step 13/16 : ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-10.0.14
 ---> Running in 28e63e526291
Removing intermediate container 28e63e526291
 ---> 790524032f8e
Step 14/16 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
 ---> Running in b7ff32b8c977
Removing intermediate container b7ff32b8c977
 ---> 660ff26ca69a
Step 15/16 : EXPOSE 8080
 ---> Running in 36ade6b493c3
Removing intermediate container 36ade6b493c3
 ---> 9098ff52dbb5
Step 16/16 : CMD /usr/local/tomcat/apache-tomcat-10.0.14/bin/startup.sh
 ---> Running in 6a8ce667fd8b
Removing intermediate container 6a8ce667fd8b
 ---> 7505499dfdab
Successfully built 7505499dfdab
Successfully tagged mytomcat:latest
root@lsMusKVEqm:/home/mytomcat# 

此时镜像已经生成

image.png

启动镜像测试

docker run -d -it -p 9090:8080 --name gongyjtomcat -v /home/gongyj/build/tomcat/test/:/usr/local/tomcat/apache-tomcat-10.0.14/webapps/ -v /home/gongyj/build/tomcat/logs/:/usr/local/tomcat/apache-tomcat-10.0.14/logs/ mytomcat 

# 访问测试
root@lsMusKVEqm:/home/mytomcat# curl localhost:9090

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/10.0.14</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>
...