docker镜像本质上就是一个个基础镜像的堆叠,为了做出我们想要的镜像,我们需要考虑最终镜像所需的所有基础环境,然后一层层堆叠.也就是不断以基础镜像搭建上层镜像.

  先看例子:

# Version: 1.0.
# Create Time: -- :
# Author: ***
# Description:**** # 基于已经配置好的jdk1.8版本进行操作
FROM jdk:latest
MAINTAINER ***** <********@qq.com> # 创建目录
#RUN mkdir -p -m /home # 将压缩包迁移到容器中并解压
ADD tomcat8.tar.gz /home/tomcat8/ # 暴露文件目录
#VOLUME ["/home/docker/file/distfirstout", "/home/docker/file/input/D001"]
#VOLUME ["/app/tomcat8/webapps/"] # 暴露网络端口
EXPOSE # 启动服务
ENTRYPOINT ["/home/tomcat8/apache-tomcat-8.0.24/bin/catalina.sh", "run"]

  这是一个安装tomcat镜像的dockerfile,基础镜像是一个叫jdk的镜像.

  语法介绍:

  1.FROM 基础镜像

  2.MAINTAIN 作者信息

  3.RUN 命令(该命令是运行在安装软件时,在基础镜像上面运行的命令)

  4.CMD 命令(启动容器时运行的命令,如果文件最后添加了ENTRYPOINT 命令,则该命令会被覆盖)

  5.USED 用户(设置容器操作用户)

  6.EXPOSED 端口(容器向外暴露的端口)

  7.ENV 环境变量(设置容器内环境变量)

  8.ADD 文件(添加文件)

  9.VOLUME 目录(挂在宿主机目录)

  10.WORKDIR 目录(工作目录)

  dockerfile里面所设置的这些内容实际上基本上都可以在容器启动时设定,但是想要做成一个成熟的镜像还是有比要把这些基础设置填写完全.

Dockerfile编写语法的更多相关文章

  1. Dockerfile 编写

    转: https://blog.fundebug.com/2017/05/15/write-excellent-dockerfile/如何编写最佳的Dockerfile 译者按: Dockerfile ...

  2. 转 .md即markdown文件的基本常用编写语法(图文并茂)

    原文链接:.md即markdown文件的基本常用编写语法(图文并茂) 序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话 ...

  3. dockerfile文件语法命令

    dockerfile文件语法命令 (1) FROM命令,支持两种形式,构建新镜像使用的基础镜像,所以源镜像必须存在,并且是非注释的第一条命令. DOCKERFILEFORM <image> ...

  4. [转帖]helm模板文件chart编写语法详解

    helm模板文件chart编写语法详解 https://blog.51cto.com/qujunorz/2421328 需要学习一下. charts编写介绍 开始 快速创建一个chart模板,helm ...

  5. .md 即 markdown 文件的基本常用编写语法

    0. 前言 Markdown 是一种纯文本格式的标记语言.通过简单的标记语法,它可以使普通文本内容具有一定的格式.现在的项目都使用了 git 仓库,再加上远程仓库 github 托管,那就难免要写一些 ...

  6. Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  7. 最简单的Go Dockerfile编写姿势,没有之一!

    1. Dockerfile一些额外注意点 选择最简单的镜像 比如alpine,整个镜像5M左右 设置镜像时区 RUN apk add --no-cache tzdata ENV TZ Asia/Sha ...

  8. Dockerfile编写注意事项

    转载自:https://blog.fundebug.com/2017/05/15/write-excellent-dockerfile/ 一.目标 更快的构建速度 更小的Docker镜像大小 更少的D ...

  9. DockerFile 编译语法详解

    Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像,本小结首先介绍Dockerfile典型的基本结构和它支持的众多指令,并具体讲解通过这些指令来编写定 ...

随机推荐

  1. @Transactional注解详解

    默认遇到throw new RuntimeException("...");会回滚   需要捕获的throw new Exception("...");不会回滚 ...

  2. reshape2 数据操作 数据融合( cast)

    我们在做数据分析的时候,对数据进行操作也是一项极其重要的内容,这里我们同样介绍强大包reshape2,其中的几个函数,对数据进行操作cast和melt两个函数绝对少不了. 首先是cast,把长型数据转 ...

  3. Java JVM 多态(动态绑定)

    Java JVM 多态(动态绑定) @author ixenos 摘要:绑定.动态绑定实现多态.多态的缺陷.纯继承与扩展接口.向下转型与RTTI 绑定 将一个方法的调用和一个方法的主体关联起来,称作( ...

  4. delphi edit 中undo 和clearundo 复制粘贴等总结

    edit 和memo都有undo功能, Undo:恢复到改动前. ClearUndo:撤销掉Undo缓冲区的内容,则将无法恢复到改动前的 从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用 程序 ...

  5. 丢掉鼠标-Mac神软Alfred使用手册

    上篇: http://wellsnake.com/jekyll/update/2014/06/15/001/?utm_source=tuicool 下篇: http://wellsnake.com/j ...

  6. Cross Product

    Cross Product These are two vectors: They can be multiplied using the "Cross Product" (als ...

  7. robotframework代码定位感悟

    robotframework代码定位感悟: 在做自动化的时候,有时候还是要考虑真实的操作,考虑人为反应,网络,页面渲染,服务器处理请求的过程及数据是否真实到达响应的位置, 不能一味的按照程序的速度 去 ...

  8. sftp配置多用户权限

    sftp配置多用户权限   工作需要,用户上传文件到目录下,用ftp不太安全,选择sftp.让用户在自己的home目录下活动,不能ssh到机器进行操作.   下面开始干活. 查看ssh版本 ssh - ...

  9. Redis使用详细教程

    Redis使用详细教程 一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1.取最新N个 ...

  10. HDU 4289 Control

    最小割 一个点拆成两个 AddEdge(i,i+N,x); 原图中的每条边这样连 AddEdge(u+N,v,INF); AddEdge(v+N,u,INF); S是源点,t+N是汇点.最大流就是答案 ...