事先下载好tomcat和jdk的二进制包。

下载地址https://pan.baidu.com/s/1kWWHGEV

值得一说的是 tomcat的官方镜像 剪切了很多jdk和系统命令,所以生产环境建议自己做tomcat的镜像

目录结构

1是jdk的解压缩文件

2是tomcat的解压缩文件

3是代码目录

这些一定要和Dockerfile 放在一个目录下 Dockerfile 的D一定要大写

 FROM centos
#基于centos镜像来构建
MAINTAINER 979477675@qq.com
#维护人员信息,不是必须的
ADD jdk /usr/local/jdk
#把jdk添加到容器
ADD tomcat /usr/local/tomcat
#把tomcat添加到容器
ENV JAVA_HOME /usr/local/jdk
#设置java环境变量
ENV PATH $PATH:/$JAVA_HOME/bin
#设置java环境变量
ADD xcWeb /usr/local/tomcat/webapps/xcWeb
#把当前目录下的xcWeb 添加到容器里tomcat的根目录下
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
#把系统的时区添加到容器中,java业务务必加上这么一条
EXPOSE 8080
#开放容器的8080端口,也就是tomcat的web端口
CMD /usr/local/tomcat/bin/catalina.sh run
#在前台运行tomcat,如果不在前台运行tomcat,你会发现tomcat启动完了容器也就停止了

Dokerfile

在当前路径执行

docker build -t name ./

name就是你构建后的镜像名字 可以随便下 建议还是规范一点好

dockerfile 构建tomcat的更多相关文章

  1. dockerfile构建Tomcat镜像

    dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...

  2. Docker 使用Dockerfile构建tomcat镜像

    Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...

  3. 如何使用Dockerfile构建Tomcat镜像并部署war

    我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...

  4. 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

    Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...

  5. Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像

    镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <boonya@ ...

  6. 使用Dockerfile构建镜像

    Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像.它类似shell脚本,由一行行命令组成,支持以#开头的注释行.一般而言,Dockerfile分为四部 ...

  7. Docker容器学习梳理 - Dockerfile构建镜像

    在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...

  8. Docker 使用Dockerfile构建redis镜像

    Dockerfile实现: FROM centos: MAINTAINER hongdada "hongdaqi159505@gmail.com" WORKDIR /home RU ...

  9. 利用Dockerfile构建一个基于CentOS 7镜像

    利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...

随机推荐

  1. OpenMP 《并行程序设计导论》的补充代码

    ▶ 使用 OpenMP 和队列数据结构,在各线程之间传递信息 ● 代码,使用 critical 子句和 atomic 指令来进行读写保护 // queue.h #ifndef _QUEUE_H_ #d ...

  2. Changing the load order/delay the start of the Server service

    THE INFORMATION IN THIS ARTICLE APPLIES TO: Secure FTP Server (All Versions) EFT Server (All Version ...

  3. nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}

    Deploying inside Eclipse v3.6 raises the exception. The WEB-INF/classes/ folder in the .war doesn't ...

  4. vim调整粘贴时的文本缩进

    解决办法: 1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste (关闭paste) 在 Vim 中粘贴文本 ...

  5. SSH中将hibernate托管给spring获取session的方法

    import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionF ...

  6. js中创建table表格

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. Varint 数值压缩

    [Varint 数值压缩] Varint 是一种紧凑的表示数字的方法.它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数.这能减少用来表示数字的字节数.比如对于 int32 类型的数字,一 ...

  8. 无法启动Tomcat, 端口被占用的问题

    这个错误是说这几个端口已经有某个应用程序占用了,所以Tomcat就没法启动了.   出现这个问题的原因可能有以下几种: 情况一:点击运行的时候没有选中页面或Servlet窗口的标签 标签被选中时: 标 ...

  9. 外层div高度不随内层div高度改变的解决办法

    当b1和b2都是float=left时候,a1层的高度不会被b1和b2的高度撑开. <div id=“div1″> <div id=”div2″ style="float: ...

  10. Django 1.10.2 模型数据库操作

    首先我的django 版本 >>> django.VERSION (1, 10, 2, u'final', 0) setting.py: DATABASES = { 'default ...