步骤
准备镜像文件。tomcat压缩包、jdk压缩包!
编写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#
此时镜像已经生成
启动镜像测试
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>
...