一、说明
centos基于docker官方镜像来制作的,用tomcat源码包生成的镜像,本环境中tomcat安装目录位于:/usr/local/,jdk安装目录位于:/usr/,如果你使用dockerfile buid此镜像,你要提前下载好jdk、tomcat源码包,在此文本中用的版本为apache-tomcat-8.0.24、jdk1.8.0_131,并且还配置了服务器的时间区,里面#号为注释掉的内容可以不用管它。
二、Dockerfile
FROM centos:latest MAINTAINER ganbing87@126.com ENV TIME_ZONE Asia/Shanghai ENV JAVA_HOME /usr/jdk1.8.0_131/ ENV PATH $PATH:$JAVA_HOME/bin ENV TOMCAT_HOME /usr/local/apache-tomcat-8.0.24/ COPY ./apache-tomcat-8.0.24.tar.gz /usr/src COPY ./jdk-8u131-linux-x64.tar.gz /usr/src RUN set -x \ \ && yum -y update \ && tar zxf /usr/src/apache-tomcat-8.0.24.tar.gz -C /usr/local \ && rm -rf /usr/src/apache-tomcat-8.0.24.tar.gz \ && tar zxf /usr/src/jdk-8u131-linux-x64.tar.gz -C /usr \ && rm -rf /usr/src/jdk-8u131-linux-x64.tar.gz \ && echo "${TIME_ZONE}" > /etc/timezone \ && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime COPY ./shutdown.sh /usr/local/apache-tomcat-8.0.24/bin #ADD run.sh /run.sh #RUN chmod +x /run.sh ENTRYPOINT /usr/local/apache-tomcat-8.0.24/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0.24/logs/catalina.out #CMD ["/run.sh"] EXPOSE 8080 ~ |
三、附件(shutdown.sh)
#!/bin/bash ps -ef |grep /usr/local/apache-tomcat-8.0.24 |grep -v grep |awk '{print $2}' |xargs kill -9 |
四、运行容器
1、环境: centos7.2+tomcat8.0.24+jdk1.8.0 2、用dockerfile构建tomcat镜像 docker build -t tomcat:8.0.24 . 3、查看镜像是否构建成功 docker images 4、运行 docker run -d -p 8080:8080 tomcat:8.0.24 bash -d:后台启动,并生成容器id -p:映射主机的8080端口至tomcat容器的8080端口 5、测试: 用浏览器访问docker主机的IP地址,要注意不是容器的IP地址,比如主机IP为172.16.0.1,http://172.16.0.1:8080 |
本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2049279,如需转载请自行联系原作者