dockerfile 构建tomcat
事先下载好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的更多相关文章
- dockerfile构建Tomcat镜像
dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...
- Docker 使用Dockerfile构建tomcat镜像
Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...
- 如何使用Dockerfile构建Tomcat镜像并部署war
我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...
- 利用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 ...
- Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像
镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <boonya@ ...
- 使用Dockerfile构建镜像
Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像.它类似shell脚本,由一行行命令组成,支持以#开头的注释行.一般而言,Dockerfile分为四部 ...
- Docker容器学习梳理 - Dockerfile构建镜像
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...
- Docker 使用Dockerfile构建redis镜像
Dockerfile实现: FROM centos: MAINTAINER hongdada "hongdaqi159505@gmail.com" WORKDIR /home RU ...
- 利用Dockerfile构建一个基于CentOS 7镜像
利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...
随机推荐
- Ubuntu安装Chrome过程中的细节
Ubuntu中的默认浏览器是Firefox,但是一直以来都认为Chrome更加优秀.下面记录一下在Ubuntu下安装Chrome的过程,也回顾一下Ubuntu系统中的一些细节. 大多数Linux安装软 ...
- QT error LNK2019: 无法解析的外部符号
一个见到那的错误,困扰了好几天了,今天才解决,记录下. 使用QT Creator建立项目,添加一个QT设计界面widget,命名为TestWidget.有ui,头文件(.h),源码文件(.cpp).在 ...
- 通过django创建数据库的方法
在models 文件中实现 a. from django.db import models class UserInfo(models.Model): #id列, 自增, 主键 #用户名列, 字符串类 ...
- LUA中相同签名函数覆盖
function test() print('test')end function test() print('test22222')end test() --输出test2222
- JavaWeb--过滤器Filter (一)
过滤器是在服务器上运行的,并且位于请求和响应中间起过滤功能的程序.其工作原理如下图所示: 在与过滤器相关联俄Servlet或JSP运行前,过滤器先执行.一个过滤器可以一个或多个Servlet或JS ...
- write()和print()还有<%= %>的细微区别
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通过默 ...
- Python 入门学习(壹)上机时间提醒
基于 Udacity 的 Python 入门课程 Programming Foundations with Python 基于 Python 2.7 控制台版本 思路 Project 1 是一个时间提 ...
- sqlserver 必须声明标量变量 "***"。
发现在navicat premium上执行报这个异常,在sqlserver上不报,想到我之前的文章用存储过程时mysql里有个分割符,去掉“:”果然执行成功. DECLARE @countlmc IN ...
- fastdfs单机版的安装+nginx
一.FastDFS介绍 FastDFS开源地址:https://github.com/happyfish100 参考:分布式文件系统FastDFS设计原理 参考:FastDFS分布式文件系统 1.简介 ...
- linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限.主流的有两种方法,改表法和授权法.相对而言,改表法 ...