Dockerfile
FROM centos
MAINTAINER bingjjfly<bingjjfly@docker.org>
ADD /mydocker/tomcat/jdk-8u161-linux-x64.tar.gz /usr/local/
ADD /mydocker/tomcat/apache-tomcat-8.5.54.tar.gz /usr/local/
RUN yum install -y vim
RUN yum install -y net-tools
ENV WORK_DIR /usr/local/
WORKDIR $WORK_DIR
ENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.54
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.54
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD $CATALINA_HOME/bin/startup.sh && tail -F $CATALINA_HOME/logs/catalina.out
Build
docker build -f /mydocker/tomcat/Dockerfile -t bingjjfly/tomcat:1.0 .
Run
docker run -d -p 8080:8080 --name bingjjfly_tomcat_1.0 \
-v /mydocker/tomcat/test:/usr/local/apache-tomcat-8.5.54/webapps/test \
-v /mydocker/tomcat/test_logs:/usr/local/apache-tomcat-8.5.54/logs \
bingjjfly/tomcat:1.0
Test项目
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>test</display-name>
</web-app>
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
Hello Dockerfile!
<%
out.println("Hello World!");
%>
</body>
</html>
覆盖CMD命令,不运行容器
docker run bingjjfly/tomcat:1.0 ls -l
不使用交互,直接执行命令
docker exec -it bingjjfly_tomcat_1.0 ls -l /usr/local/apache-tomcat-8.5.54/webapps/test