DockerFile是用来构建docker镜像的构建文件,是有一系列命令和参数构成的脚本

构建的三步骤:编写dockerfile文件→build构建→docker run

dockerfile保留字指令:

  FROM:当前新镜像是基于那镜像

  MAINTAINER:镜像作者

  RUN:容器需要运行的命令

  EXPOSE:对外端口号

  WORKDIR:指定终端进入的工作目录

  ENV:设置环境变量

  ADD:将宿主机目录下的文件拷贝进镜像,ADD命令会自动处理URL和解压压缩包

  COPY:将宿主机目录下的文件拷贝进镜像

  VOLUME:容器数据卷

  CMD:指定一个容器运行时要运行的文件(可以有很多CMD命令,但只有最后一个生效)

  ENTRYPOINT:指定一个容器运行时要运行的文件

  OMBUILD:构建一个被继承的dockerfile时运行命令,父镜像在子镜像继承之后,父镜像onbuild被cufa触发

案例1:(配置tomcat)# vim dockerfile

  FEOM centos  // 基于centos镜像

  MAINTAINER  WU-WU  // 作者信息:wu-wu

  ENV mypath /usr/local  // 自定义环境变量

  WORKDIR  /usr  //定义工作目录

  COPY jkd-8u171-linux-×86.tar.gz  /usr/local  // 添加jdk×86到/usr/loca

  ADD jkd-8u171-linux-×64.tar.gz  /usr/local  // 添加并解压jdk×64到/usr/local

  ADD apache-tomcat-9.0.6.tar.gz /usr/local  // 添加并解压tomcat到/usr/local

  # 配置java与tomcat的环境变量

  ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  ENV CLASS_HOME /usr/local/apache-tomcat-9.0.6

  ENV CLASS_BASE /usr/local/apache-tomcat-9.0.6

  ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

  VOLUME ["/mydata1","/mydata2","/mydata3"]  //加入三个容器卷

  RUN yum -y instatll vim  // 安装vim组件

  RUN yun -y install net-tool  // 安装网络组件

  EXPOSE 9999  // 监听端口

  CMD  bin/bash  

构建:# docker -f /home/dockerfile -t centos_tomcat .  // -f:需要带当前路径

   # docker -t centos_tomcat .  //-t:当前路径

    

  

DockerFile简介以及使用的更多相关文章

  1. dockerfile简介及书写规则

                                       Dockerfile 简介 Dockfile是一种被Docker程序解释的脚本, Dockerfile由一条一条的指令组成,每条指 ...

  2. Dockerfile简介及基于centos7的jdk镜像制作

    Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建m ...

  3. ubuntu-docker入门到放弃(七)Dockerfile简介

    一.dockerfile基本结构 最简单的理解就是dockerfile实际上是一些命令的堆叠,有点像最基础的shell脚本,没有if 没有for,就是串行的一堆命令. 一般而言,dockerfile分 ...

  4. 使用Dockerfile制作自己的Docker镜像

    一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...

  5. Docker 核心技术之Dockerfile

    Dockerfile 简介 什么是Dockerfile Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义 ...

  6. Docker之使用Dockerfile创建定制化镜像(四)--技术流ken

    前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...

  7. Dockerfile介绍及指令详情

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

  8. Dockerfile制作镜像

    Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建m ...

  9. Dockerfile介绍、Docker制作jdk镜像

    Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用 ...

随机推荐

  1. 数学还勉强管用,用代码还能画个canvas 仪表盘(含完整代码)

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

  2. html转图片,java库cssbox

    引入依赖包 <dependency> <groupId>net.sf.cssbox</groupId> <artifactId>cssbox</a ...

  3. Javac的命令(注解相关)

    1.-Akey[=value] Options to pass to annotation processors. These are not interpreted by javac directl ...

  4. ThreadPoolExecutor 异常

    通过execute提交的任务,能将该任务抛出的异常交给未捕获异常处理器处理,而通过submit提交的任务,无论是抛出的未检查异常还是已检查异常,都将被认为是任务返回状态的一部分.如果一个由submit ...

  5. java class load 类加载

    1:what is  it jvm把描述类的数据从class字节码文件加载到内存,并对数据进行校验.解析.初始化,最终成为jvm直接使用的数据类型 1.ClassNotFoundExcetpion  ...

  6. js 页面间的通信

    看了一下公司原来的代码,原页面ajax post返回一个页面完整的HTML,然后再打开一个新页面并输出ajax返回的所有代码到新页面上,在新页面上以表单提交的形式实现重定向. 任凭我想了半天也没想出来 ...

  7. 《Think Python》第15章学习笔记

    目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...

  8. var、let、const的区别,以及作用范围。

    在es5中一般经常使用的变量有两个级别,一个是用var声明的全局级别的变量,另外一个是函数级别是用var生命在函数内的.本文中将详细讲解我对es6中的const和let的区别. let的使用以及作用范 ...

  9. 十一、信号量控制Semaphore

    一.简介 有时候我们需要对一个资源的访问做线程数控制,以防雪崩等问题. JDK中,信号量可以处理这样的问题:Semaphore JDK文档:http://tool.oschina.net/upload ...

  10. php 函数的嵌套

    /*一定要小心变量作用域*/ function insert_dynamic() { function bar() { echo "I don't exist until insert_dy ...