1、下载centos镜像
#>docker pull centos
2、下载apache-tomcat-8.5.31.tar.gz jdk-8u171-linux-x64.tar.gz
上传到linux服务器,并解压
3、修改catalina.sh
修改catalina.sh去掉org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&" 最后的"&"
如果不去掉,Dockerfile ENTRYPOINT ["/usr/local/tomcat8/bin/startup.sh", "run"]
可以改为Dockerfile ENTRYPOINT ["/usr/local/tomcat8/bin/catalina.sh", "run"]
但在创建容器后不生成catalina.out
4、在相同的目录,创建Dockerfile
#>vi Dockerfile
FROM centos:latest
MAINTAINER flex Centos7-jdk8-Tomcat8
RUN echo "Asia/Shanghai" >/etc/timezone
WORKDIR /usr/local
RUN mkdir jdk8
RUN mkdir tomcat8
ADD apache-tomcat-8.5.31 /usr/local/tomcat8
ADD jdk1.8.0_171 /usr/local/jdk8
ENV CATALINA_HOME=/usr/local/tomcat8
ENV JAVA_HOME=/usr/local/jdk8
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
#ENV CALATINA_BASE=/usr/local/tomcat8
ENV PATH=/sbin:$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat8/bin/startup.sh", "run"]
5、创建自己的镜像
#>docker build -t tomcat8_img .
注意 . 表示当前目录
6、创建和发布web程序
#>docker run -d -p 9090:8080 --name mytomcat3 -v /home/mywebapps:/usr/local/tomcat8/webapps -v /home/logs:/usr/local/tomcat8/logs --restart=always --privileged=true tomcat8_img
容器暴露端口8080
宿主机映射端口9090
发布程序在宿主机/home/mywebapps
日志在宿主机/home/logs
7、访问
http://宿主ip:9090/webname