03. 打造自己的tomcat8镜像

2018-03-12  本文已影响107人  码农梦醒

Dockerfile

From org.pzy/oracle_jre8:1.0
MAINTAINER 潘志勇 <sd4015700@126.com>
LABEL Description="基于CentOS 7,安装了jre 8和tomcat8.5(org.pzy/tomcat85:1.0)"  Version="1.0"
ENV CATALINA_HOME /usr/lib/tomcat/apache-tomcat-8.5.28
ENV CATALINA_BASE $CATALINA_HOME
ENV PATH $PATH:$CATALINA_HOME/bin
# 创建tomcat的用户,并自动创建用户目录, 指定tomcat用户使用bash
RUN useradd --create-home --no-log-init --shell /bin/bash tomcat
# 设置tomcat用户的密码
RUN echo "tomcat:tomcat" | chpasswd
# 将tomcat的压缩包放到 /usr/lib/tomcat/ 目录下
ADD apache-tomcat-8.5.28.tar.gz  /usr/lib/tomcat/
# 将工作目录切换到 /usr/lib/tomcat/, 之后的操作, 的基础目录为 /usr/lib/tomcat/
WORKDIR /usr/lib/tomcat/
# 在 /usr/lib/tomcat/ 目录下查找 所有以._开头的文件或文件夹, 并将所有查找到的文件或文件夹删除
RUN find . -name "._*" | xargs rm -rf
# 切换工作目录
WORKDIR /home/tomcat
# 修改 /usr/lib/tomcat/ 目录的拥有者为tomcat. (默认的拥有者为root)
RUN chown -R tomcat /usr/lib/tomcat/
# 将当前操作者的身份从root切换为tomcat, 后续所有操作, 都将是以tomcat身份运行
USER tomcat
# 容器监听 8080端口
EXPOSE 8080
# 容器启动后, 自动执行 tomcat的catalina.sh脚本, 以run模式运行tomcat. 这里注意:容器中的服务必须以前台方式运行.
CMD ["catalina.sh","run"]

建议的使用姿势:

启动tomcat8容器时, 将宿主机的webapps目录挂载到tomcat容器的webapps目录下, 实现app与容器的分离, 做到只要往宿主机的webapps目录添加项目,就能动态发布的目的
上一篇下一篇

猜你喜欢

热点阅读