本文是最简单的Dockerfile教程,创建tomcat容器,并跑自己的java程序

首先需要准备几个东西

  1、你的java web(test.war) 程序,最好打包成一个 war;(主要是没测试 COPY -r 是否成功...)

  2、你的tomcat 配置文件(server.xml);

  3、你的tomcat-users配置文件;

在创建容器前,首先保证docker 成功安装了....

第一步:创建一个目录test;

第二步:把 test.war、server.xml、tomcat-users.xml放到test 目录下;

第三步:创建Dockerfile文件(最好在外面创建好了一并拷贝到test目录下,linux下真难编辑),注意Dockerfile不要写错了,没有后缀名的,D大写;

  文件内容如下:

    # 测试dockerfile

    # Author: haowang

    #基础镜像
    FROM tomcat:latest

    #作者
    MAINTAINER haowang 593301179@qq.com

    #定义工作目录
    ENV WORK_PATH /usr/local/tomcat/conf

    #定义要替换的文件名
    ENV USER_CONF_FILE_NAME tomcat-users.xml

    #定义要替换的server.xml文件名
    ENV SERVER_CONF_FILE_NAME server.xml

    #删除原文件tomcat-users.xml
    RUN rm $WORK_PATH/$USER_CONF_FILE_NAME

    #复制文件tomcat-users.xml
    COPY ./$USER_CONF_FILE_NAME $WORK_PATH/

    #删除原文件server.xml
    RUN rm $WORK_PATH/$SERVER_CONF_FILE_NAME

    #复制文件server.xml
    COPY ./$SERVER_CONF_FILE_NAME $WORK_PATH/

    #定义工作目录
    ENV WORK_PATH /usr/local/tomcat/webapps

    #定义要复制的程序
    ENV APP_FILE_NAME test.war

    #复制程序
    COPY ./$APP_FILE_NAME $WORK_PATH/

  第五步:创建容器:sudo docker build -t test:1.0.0 .  //最后一个点不要忘了

  第六步:运行容器:sudo docker run -p 8080:8080 test:1.0.0

大功告成~~~~

Dockerfile 构建容器的更多相关文章

  1. Dockerfile构建容器---构建本地tomcat

    前序 这是我第一次摸索.做个笔记记录一下. 首先准备好tomcat与jdk解压到与Dockerfile同级的目录下, 构建文件命名必须为Dockerfile, 为什么同级, 因为build的时候会默认 ...

  2. Docker中使用多阶段Dockerfile构建容器镜像image(镜像优化)

    使用多阶段构建 预计阅读时间: 6分钟 多阶段构建是守护程序和客户端上需要Docker 17.05或更高版本的新功能.多阶段构建对于那些努力优化Dockerfiles同时使其易于阅读和维护的人来说非常 ...

  3. Centos上Docker 使用dockerfile构建容器实现ssh

    这几日在学习docker.遇到的问题数一年都数不完,网上大多数都是ubuntu的,百度或者谷歌的时候心好累.写写文档来帮助使用centos的docker爱好者们. docker基本操作这里就不介绍了 ...

  4. Dockerfile构建容器---语法高亮

    三个文件扔进相关的目录即可 wget -O /usr/share/vim/vimfiles/doc/dockerfile.txt https://raw.githubusercontent.com/a ...

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

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

  6. docker使用Dockerfile构建ssh容器

    一.使用Dockerfile构建centos 1.创建 Dockerfile mkdir centos # 创建一个目录存放之后的Dockerfile,目录名无所谓 cd centos # 进入目录 ...

  7. 利用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 ...

  8. 用Dockerfile构建docker image

    dockerfile是为快速构建docker image而设计的,当你使用docker build 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执 ...

  9. 使用Dockerfile构建镜像-Docker for Web Developers(5)

    1.理解Dockerfile语法 语法命令 命令功能 举例 FROM 所有的dockerfile都必须以FROM命令指定镜像基于哪个基础镜像来制作 FROM ubuntu:14:04 MAINTAIN ...

随机推荐

  1. JVM-字节码

  2. ORA-00911: invalid character 包含中文报错

    SQL在pl下正常执行在vs里报错ORA-00911: invalid character. 1.检查SQL末尾是否含有";" 去掉 2.sql包含中文报错 string sql ...

  3. Hash和HashCode深入理解

    目录介绍1.Hash的作用介绍1.1 Hash的定义1.2 Hash函数特性1.3 Hash的使用场景2.如何判断两个对象相等2.1 判断两个字符串2.2 判断两个int数值2.3 其他基本类型3.H ...

  4. 20165205 2017-2018-2 《Java程序设计》课程总结

    20165205 2017-2018-2<Java程序设计>课程总结 每周作业链接总结 预备作业一: 简述了我认为好的师生关系,展望了未来学习java的日子 预备作业二:总结了C语言的学习 ...

  5. Mac平台下部署UE4工程到iOS设备的流程

    1.开发环境 UE4.Xcode.iOS版本情况如下: 1.UE4:当前最新版本Unreal Engine 4.17.2. 2.Xcode:当前最新版本Xcode9.0. 3.iOS:当前最新版本iO ...

  6. C#设计模式(2)——简单工厂模式(Factory )

    我们通过 Factory 创建对象不同的对象. 例如:如果创建一个汽车的接口,通过 工厂Factory 创建实现接口的对象,根据我们的选择来创建不同的对象. 创建汽车接口 /// <summar ...

  7. Android Room 学习(一)

    Room简介 Room persistence库为SQLite提供了一个抽象层,以便在利用SQLite的全部功能的同时实现更强大的数据库访问. 该库可帮助您在运行应用程序的设备上创建应用程序数据的缓存 ...

  8. 多个css样式合并到一个“目录”css文件中

    执行访问jsp后发现没有效果 同样的代码,在html中效果对比如下: 具体原因:不清楚,暂时记着~~~在jsp中不支持@import这种css样式的引用

  9. css:清楚html所有标签自带属性

    相信如果您动手写过网页的话,应该体会到有些标签会自带一些默认的样式,而这些样式或许又是我们不想要的,所以我们可以用以下代码清除所有标签的默认样式   html, body, div, span, ap ...

  10. SSH登录启用Google二次身份验证

    一般来说,使用ssh远程登录服务器,只需要输入账号和密码,显然这种方式不是很安全.为了安全着想,可以使用GoogleAuthenticator(谷歌身份验证器),以便在账号和密码之间再增加一个验证码, ...