一.安装环境和软件包准备
centos7.4 docker v20.10.24
jdk-8u291-linux-x64.tar.gz 下载 https://cloud.189.cn/t/BnIVVfneyQbe (访问码:nf1e)
tomcat 下载 https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.90/bin/apache-tomcat-9.0.90.tar.gz
二.tomcat和jdk镜像dockerfile编写并构建
1.将需要ADD到镜像的文件放到/root/Dockerfile/tomcat目录
mkdir -p /root/Dockerfile/tomcat
cd /root/Dockerfile/tomcat
cp jdk-8u291-linux-x64.tar.gz .
cp apache-tomcat-9.0.90.tar.gz .
2.dockerfile文件编写
cat >> /root/Dockerfile/tomcat/dockerfile<<'EOF'
FROM centos:7
MAINTAINER alibaby007
ENV JAVA_VERSION=jdk-8u291
ENV VERSION=9.0.90
ADD jdk-8u291-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_291
ENV PATH $PATH:$JAVA_HOME/bin
ADD apache-tomcat-9.0.90.tar.gz /usr/local
WORKDIR /usr/local/apache-tomcat-9.0.90
EXPOSE 8080
ENTRYPOINT ["./bin/catalina.sh", "run"]
EOF
3.构建镜像
cd /root/Dockerfile/tomcat
docker build -t tomcat:v9.0.90 .
3.创建容器
#创建站点本地存储目录
mkdir -p /app/webapps
#运行tomcat容器
docker run -itd \
--name tomcat \
-p 8080:8080 \
--mount type=bind,src=/app/webapps/,dst=/usr/local/apache-tomcat-9.0.90/webapps \
tomcat:v9.0.90
4.验证 http://ip:8080
说明:宿主机对应的/app/webapps/目录,将项目的war包放在此目录下,运行tomcat时就会自动解压缩并部署为应用。
现在没有项目,在此目录下先创建ROOT目录。
mkdir -p /app/webapps/ROOT
cd /app/webapps/ROOT
echo alibaby007 > index.html
5.验证 http://ip:8080
三.构建jar包
1.将需要COPY到镜像的文件放到/root/Dockerfile/jar目录
mkdir -p /root/Dockerfile/jar
cd /root/Dockerfile/tomcat
cp my-app.jar .
2.dockerfile文件编写
cat >> /root/Dockerfile/jar/dockerfile<<'EOF'
FROM openjdk:8
COPY my-app.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EOF
3.构建镜像
cd /root/Dockerfile/jar
docker build -t app.jar:v1.0 .
4.查看镜像
docker image ls