Dockerfile 搭建 tomcat 基础镜像与项目镜像
方案一:
一:下载安装包
下载你需要的 tomcat 版本,上传到 docker 宿主机上
vim Dockerfile-tomcat
二:编写 dockerfile 文件
FROM centos:7
MAINTAINER www.zenghw.com
ENV VERSION=8.5.47
RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
yum clean all && \
rm -rf /var/cache/yum/*
COPY apache-tomcat-8.5.47.zip /tmp
RUN cd /tmp && \
unzip apache-tomcat-8.5.47.zip && \
mv apache-tomcat-8.5.47 /usr/local/tomcat8 && \
rm -rf apache-tomcat-8.5.47.zip && \
cd /usr/local/tomcat8/bin/ && \
chmod +x *.sh && \
sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat8/bin/catalina.sh && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV PATH $PATH:/usr/local/tomcat8/bin
WORKDIR /usr/local/tomcat8
EXPOSE 8080
CMD ["/usr/local/tomcat8/bin/catalina.sh", "run"]
三:build 生成本地镜像
docker build -t tomcat:v1 -f Dockerfile-tomcat . # 使用 Dockerfile-tomcat 文件构建一个基础镜像 tomcat:v1
-t tomcat:v1 # 指定版本 tag=v1
-f Dockerfile-tomcat # 指定 dockerfile 的名称
. # 指定上下文(比如配置文件在那个位置等)
成功提示
查看镜像
运行测试下
docker run -d -i -t --name=tomcatv1 -p 8888:8080 tomcat:v1
方案二:
一:准备 centos 镜像
docker pull centos:7
《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 二:下载 jdk、tomcat 安装包,上传/usr/local/soft 目录下
jdk1.8 下载:[http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html](()
tomcat8 下载:[https://tomcat.apache.org/download-80.cgi](()
三:解压,创建 Dockerfile 文件
tar -zxvf apache-tomcat-8.5.63.tar.gz #解压 tomcat
tar -zxvf jdk-8u281-linux-x64.tar.gz #解压 jdk
rm -rf apache-tomcat-8.5.63.tar.gz #删除安装包
rm -rf jdk-8u281-linux-x64.tar.gz #删除安装包
touch Dockerfile-tomcat #创建文件
四:编写 Dockerfile 文件
#指定操作的镜像
FROM centos:7
维护者信息
MAINTAINER www.zenghw.com
#执行命令:创建目录
RUN mkdir -p /usr/local/soft
#将 jdk1.8.0_281 添加到镜像 centos 的/usr/local/soft/目录下,并命名为 jdk
ADD jdk1.8.0_281 /usr/local/soft/jdk
#将 apache-tomcat-8.5.63 添加到镜像 centos 的/usr/local/soft/目录下,并命名为 tomcat
ADD apache-tomcat-8.5.63 /usr/local/soft/tomcat
#添加环境变量
ENV JAVA_HOME /usr/local/soft/jdk
ENV CATALINA_HOME /usr/local/soft/tomcat
ENV PATH JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露 8080 端口
EXPOSE 8080
#启动时运行 tomcat
CMD ["/usr/local/soft/tomcat/bin/catalina.sh","run"]
评论