前面学习了一些docker相关资料,有看到dockerfile这个东东,一时没看得太明白,理论给合实践是最好的学习方法,自己做一下就行了嘛。主要步聚记录如下:

0)环境
  10.202.105.96  -- root/sf1.....6
  /app/package/tomcat8

1.下线tomcat,jdk部署包

apache-tomcat-8.5.31.zip  jdk-8u171-linux-x64.tar.gz

2.建工作目录

mkdir tomcat8

3.解压部署包到工作目录

unzip  apache-tomcat-8.5.31.zip -d tomcat8/

tar zxf jdk-8u171-linux-x64.tar.gz  -C tomcat8/

  #确认工作目录文档

[root@cnsz22VLK5820 tomcat8]# ls
     apache-tomcat-8.5.31 dockerfile jdk1.8.0_171 run.sh

4.编写dockerfile 

#确定基础镜像

FROM centos 
MAINTAINER leo li

#设置tomcat 环境变量
ENV CATALINA_HOME /tomcat
ENV JAVA_HOME /jdk

#将tomcat和jdk上传(封装)到镜像中,并重命名镜像中的目录.

ADD apache-tomcat-8.5.31 /tomcat
ADD jdk1.8.0_171 /jdk
#ADD create
ADD run.sh /run.sh

RUN chmod +x /*.sh
RUN chmod +x /tomcat/bin/*.sh

EXPOSE 8080
CMD ["/run.sh"]

 5 编写run.sh

#!/bin/bash
exec ${CATALINA_HOME}/bin/catalina.sh run

6.构建镜像

docker build -t mytomact8  .

7查看镜像

docker images |grep mytomcat

8 启动容器

docker run -d -p 8899:8080 mytomcat8

 9 访问tomcat

chome输入: http://10.xxx.xx.96:8899/

Good job!

  

dockerfile初试之tomcat8封装的更多相关文章

  1. dockerfile封装docker镜像

    一.使用都dockerfile封装docker镜像 1.在任意一个地方创建文件夹docker mkdir docker 2.进入文件夹并且下载一个django2.1.7的包以及一个epel.repo ...

  2. 实战docker,编写Dockerfile定制tomcat8镜像,实现web应用在线部署

    最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...

  3. Dockerfile使用OracleJDK创建自定义tomcat8镜像

    我们默认下载的tomcat镜像是用的openjdk ,但是我们有些项目必须使用oraclejdk 那就不能使用官方的tomcat镜像,只能重新自定义一个镜像 Dockerfile文件 FROM cen ...

  4. Docker dockerfile创建Eclipse镜像初试

    抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...

  5. Dockerfile封装Django镜像

    部署过程 1.查看镜像 docker images 2.在/opt下建立了docker目录,下载一个django-2.1.7的源码包, mkdir -p /opt/docker cd /docker ...

  6. 使用Dockerfile封装Django镜像

    第一步: 在/opt下建立了docker目录,下载一个django-2.1.7的源码包, touch Dockerfile和run.sh,其中run.sh是用来执行Django的bash脚本,Dock ...

  7. docker镜像alpine封装nginx1.16.1【dockerfile】

    github地址:https://github.com/laileman/Docker/Dockerfile/alpine-nginx1.16.1 1-目录结构 2- dockerfile内容 3- ...

  8. docker镜像ubuntu封装jdk1.8.0【dockerfile】

    github地址:https://github.com/laileman/Docker/Dockerfile/ubuntu-jdk1.8.0_172 1-目录结构 2- dockerfile内容 3- ...

  9. podman初试-和docker对比

    podman初试-和docker对比 1,什么是docker? Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们 ...

随机推荐

  1. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  2. windchill系统——eclipse与服务器同步数据操作

    步骤如下

  3. NQueens, NQueens2 N皇后问题,递归回溯

    N皇后的规则:任意两个皇后不在同一行,不在同一列,不在同一斜线上. 算法分析:这种问题就用回溯法.深度搜索然后回溯.用一个数组记录每一行皇后的位置,下标代表行,值代表列.对行深度搜索. public ...

  4. ik分词器

    ik分词器下载地址:https://code.google.com/archive/p/ik-analyzer/downloads 需要FQ 配置文件: IKAnalyzer2012.jar(主 ja ...

  5. Python类与标准库

    Python类 >>> class MyClass: ... """A simple example class""" . ...

  6. NumPy来自数值范围的数组

    NumPy - 来自数值范围的数组 这一章中,我们会学到如何从数值范围创建数组. numpy.arange 这个函数返回ndarray对象,包含给定范围内的等间隔值. numpy.arange(sta ...

  7. CSS3 content属性学习

    css3中出现了 ":before",":after"伪类, 你可以这样写: h1:after{ content:'h1后插入的文本'; ... } 这两个选择 ...

  8. Web2.0 TA 问题记录

    记录一下上学期在当Web2.0 TA的时候遇到过的小朋友们问过的问题,可能会成为以后我开发上遇到的问题. 1. 元素的背景默认是boader origin的,也就是说是从边框开始延伸的. 但如果对bo ...

  9. java JVM 随笔

    先说重点: 对象在堆区 方法在栈区 变量在方法区,常量池在方法区 为什么要了解Java 虚拟机 ? 这个问题一直困惑了我很长一段时间,其实在我们开发的过程中,即使我们不了解JVM也能正常的开发,但是当 ...

  10. Solr快速入门

    1. 什么是Solr Solr是基于lucene的全文检索服务器.不同于lucene工具包,solr是一个web应用,运行在servlet容器,屏蔽了底层细节,并对外提供服务. 点我lucene快速入 ...