Docker系列八——Dockerfile学习

一、Dockerfile简介

Dockerfile是用来构建Docker镜像的文本文件,它是由一条条构建镜像所需的指令和参数构成的脚本。如图是Dockerfile在Docker架构中的作用
在这里插入图片描述

二、Dockerfile的构建过程

2.1 Dockerfile内容基础

  1. 每条保留字指令都必须为大写字母且后面至少跟随一个参数
  2. 每条指令从上到下顺序执行,#代表注释
  3. 每条指令都会创建一个新的镜像层,并对镜像进行提交

2.2 Docker执行Dockerfile的流程

  1. docker从基础镜像运行一个容器
  2. 执行一条指令并对容器做出修改
  3. 执行一条类似“docker commit”的操作,提交一个新的镜像层
  4. docker再基于刚刚提交的镜像运行一个新容器
  5. 执行dockerfile中的下一条命令,直到所有命令执行完成

从应用软件的角度来看,Dockerfle、Docker镜像与Docker容器,分别代表软件的上不同阶段:

  • Dockerfle是软件的原料
  • Docker镜像是软件的交付品
  • Docker容器是软件的运行态,即依照镜像运行的容器实例

他们之间的关系如图:
在这里插入图片描述

三、Dockerfile保留字指令

在这里插入图片描述
重点看下面几个

RUN 容器构建是运行的命令,等同于在终端操作的shell命令 例如:RUN yum -y install vim给容器按照上vim工具
ADD 将宿主机目录下的文件拷贝进镜像,并且字段处理URL和解压tar压缩包
COPY 作用和-v相同。类似ADD,将文件和目录拷贝进镜像,一般使用ADD
CMD 容器启动后要干的事情,Dockerfile中可以有多个CMD命令,但是只有最后一个生效,CMD会被docker run 之后的命令替换。cmd在docker run时运行,RUN在docker build时运行。
ENTRYPOINT 也是用来指定容器启动时要运行的命令,但是ENTRYPOINT不会被docker run之后的命令替换,而且这些命令行参数会被当作参数传给ENTRYPOINT指令指定的程序。ENTRYPOINT一般和CMD搭配使用

四、案例

Dockerfile制作镜像部署springboot项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值