Dockerfile编写,配置基于原生jdk8的tomcat环境
-
需要注意的是需要准备 jdk-8u11-linux-x64.tar.gz, apache-tomcat-8.5.57.tar.gz 至工作目录下(选择对应的版本,和Dockerfile路径匹配)
-
Dockerfile文件
FROM centos:7 # centos7 环境 MAINTAINER wanjiahao<1725136424@qq.com> # 维护者 ENV WORK_PATH /usr/local # 目录变量 WORKDIR $WORK_PATH # 设置工作目录 ADD jdk-8u11-linux-x64.tar.gz $WORK_PATH # 添加jdk至指定目录 ADD apache-tomcat-8.5.57.tar.gz $WORK_PATH # 添加tomcat指定目录 ENV JAVA_HOME /usr/local/jdk1.8.0_11 # 配置环境变量 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.57 ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.57 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin EXPOSE 8080 # 暴露端口 CMD /usr/local/apache-tomcat-8.5.57/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.57/logs/catalina.out # 启动tomcat,并监听日志
-
然后直接工作目录生成目标镜像(镜像名称:版本号)
docker build -t 镜像名称:版本号 .
-
运行当前镜像
docker run -d -p 8080:8080 --name diytomcat:1.0 -v 当前工作目录/webapps:/usr/local/apache-tomcat-8.5.57/webapps 镜像名称:版本号
- -d 后台运行
- -p 外界端口和内部端口的映射 (外界:内部)
- –name 给当前运行的容器赋予一个名称
- -v 数据卷的挂载 如果需要挂载logs下的文件同上所述
-
如果直接想要镜像,可以在我的镜像仓库直接拉去
sudo docker pull registry.cn-hangzhou.aliyuncs.com/haogege/wanjiahao:1.0 # 拉去自定义tomcat sudo docker tag 镜像id 镜像名称:版本号 # 重新命名镜像