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. 第十篇---javascript函数this关键字

    <script type="text/javascript" charset="utf-8"> //this:this对象是指运行时期基于执行环境所 ...

  2. hibernate_annotation字段映射位置

    @Id private int id; private String name; private String wifeName; private Date birthDate; //Title是En ...

  3. SpringBoot项目中加入jsp页面

    根据我们之前搭建好的SpringBoot+SSm的项目的基础上,来增加webapp/WEB-INF的文件,由此来完成jsp页面的跳转. 先增加jsp的pom依赖: <!-- https://mv ...

  4. monitorenter与monitorexit指令

  5. linux mint 18.2 安装wireshark

    Method 1: Via PPA Step 1: Add the official PPA sudo add-apt-repository ppa:wireshark-dev/stable Step ...

  6. sqlmap中##和$$的区别

    一. 主要区别 #a# //解析sqlmap配置文件时自动加单引号,即'a' $a$ //解析sqlmap配置文件时不加单引号,即a 如果传进来的条件需要order by的话,那一定用第二种 #是把传 ...

  7. Hadoop深入浅出实战经典视频教程(共22讲)

    该视频教程共22讲,由王家林老师主讲. --------------------------------------------------------- 第01讲:为什么会有第一代大数据技术Hado ...

  8. cmd sc命令进行服务操作

    sc 命令可以注册.删除和查询系统服务 sc可供选择的参数有很多,这里不详细描述.只介绍简单的最基本的sc使用方式. 1. sc create 创建windows服务 eg: sc \\myserve ...

  9. NodeJS入门篇

    在我印象里,“全栈工程师”这个词是NodeJS诞生后才逐渐火起来的,因为NodeJS赋予了JS服务器开发的能力.下面开始从一个小白的角度进军NodeJS... 前言:在学习NodeJS之前是需要安装的 ...

  10. Grid控件

    Grid控件是WPF布局容器中功能最强大.最灵活的控件.Grid控件基本上能够完成其他WPF容器控件所能完成的功能,Microsoft建议大多数界面的布局都使用Grid控件来实现,因此默认情况下.vs ...