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. zendstudio 设置默认编码 utf-8 gbk

    1.Project > Properties > Resource 2.Window > Preferences > General > Workspace 3.Wind ...

  2. Go RabbitMQ 工作队列 (二)

    rabbitMQ工作队列 在之前内容中我们通过一个队列实现了消息的发送跟接收.接下来我们创建工作队列(Work Queue),用于在多个工作者之间分配耗时的任务 工作队列(任务队列)背后的核心主要是避 ...

  3. 在css当中使用opacity

    background:rgba(0,0,0,0.5);会使背景变透明:opacity会让内容也变透明

  4. JavaScript ES6 Symbol.hasInstance的理解。

    Symbol.hasInstance 本案例是结合阮一峰老师的ECMAScript 6 入门丛书进一步的详细介绍,和对Symbol.hasInstance的理解.本着互联网的精神,分享给大家. 对象的 ...

  5. Virtualbox/Vagrant安装

    它们分别是什么? VirtualBox: 号称是最强的免费虚拟机软件和VM类似. 不仅具有丰富的特色,而且性能也很优异. Vagrant: 是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 使 ...

  6. flush table with read lock的轻量级解决方案

    为什么要使用FTWRL   MySQL dba在日常工作中,数据备份绝对是工作频度最高的工作内容之一.当你使用逻辑方式进行备份(mydumper,mysqldump)或物理方式进行备份(percona ...

  7. 禁止选中页面内容-兼容ie、firefox、chrome

    使用js禁止用户选中网页上的内容,IE及Chrome下的方法一样.使用onselectstart, 比如: 在body中加入<body onselectstart="return fa ...

  8. C#对Windows服务组的启动与停止

    Windows服务大家都不陌生,Windows服务组的概念,貌似MS并没有这个说法. 作为一名软件开发者,我们的机器上安装有各种开发工具,伴随着各种相关服务. Visual Studio可以不打开,S ...

  9. Oracle数据库基本操作 (五) —— 使用java调用存储过程

    一.环境准备 登录Oracle数据库scott账号,利用emp进行操作. 1.创建 proc_getyearsal 存储过程 -- 获取指定员工年薪 create or replace procedu ...

  10. Python Django ORM基本增删改查

    工程下的urls.py中增加如下: from cmdb import views as cmdb #要把你要操作的项目import进来 urlpatterns = [ url(r'orm', cmdb ...