docker file

dockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本

构建步骤

   1. 手动编写一个dockerfile文件
   2. 直接docker build 命令执行,获得一个自定义镜像
   3.执行该镜像

dockerFile 解析过程

dockerFile内容基础知识
  1. 每条保留字指令必须为大写字母且后面要跟随至少一个参数
  2. 指令按照从上到下,顺序执行
  3. 表示注释

  4. 没条指令都会创建一个新的镜像层,并对镜像进行提交
dockerfile的大致流程
  1. docker从基础镜像运行一个容器
  2. 执行一条指令并对容器做出修改
  3. 执行类似docke commit的操作提交一个新的镜像层
  4. docker在基于刚提交的镜像运行一个新容器
  5. 执行dockerfile中的下一条指令直到所有指令都执行完成

概念小总结

从应用软件的角度来看,Dockerfile,Docker镜像与Docker容器分别代表软件的三个不同阶段

  • Dockerfile 是软件的原材料
  • Docker镜像是软件的交付品
  • Docker容器则可以认为是软件的运行态
    dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石

docker file 保留字指令

FROM

基础镜像,当前镜像是基于那个镜像的

MAINTAINER

镜像维护者的姓名和邮箱地址

RUN

容器构建时需要运行的命令

EXPOSE

当前容器对外暴露的端口

WORKDIR

指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点

ENV

用来在构建镜像过程中设置环境变量

ADD

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

COPY

类似ADD,拷贝文件和目录到镜像中
将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置

COPY src dest

COPY ["src","dest"]

VOLUME

容器数据卷,用于数据保存和持久化工作

CMD

指定一个容器启动时要运行的命令
dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被Docker run 之后的参数替换

CMD容器启动命令

CMD 指令的格式和RUN相似,也是两种格式

  • shell 格式:CMD<命令>
  • exec 格式: CMD [“可执行文件”,“参数1”,“参数2”…]
  • 参数列表格式:CMD [“参数1”,“参数2”…]在指定了ENTRYPOINT指令后,用CMD指定具体的参数

ENTRYPOINT

指定一个容器启动时要运行的命令
ENTRPOINT的目的和CMD一样,都是在指定容器启动程序及参数

ONBUILD

当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的ONBUILD被触发

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值