Dockerfile中的保留字指令讲解

Posted 宁在春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile中的保留字指令讲解相关的知识,希望对你有一定的参考价值。

之前简单学过Docker,当时是为了快速部署一个项目,过的很快,对于Dockerfile文件的编写,有些显的陌生。

所以就写了这篇文章。希望能够帮助到大家哦!!!

一、Dockerfile是什么?

概念:

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

构建三步骤:

  1. 编写Dockerfile文件
  2. docker build
  3. docker run

Centos案例:

centos案例

FROM scratch  #真正的基础镜像,
ADD centos-7-x86_64-docker.tar.xz /

# label 说明的意思
LABEL \\  
    org.label-schema.schema-version="1.0" \\
    org.label-schema.name="CentOS Base Image" \\
    org.label-schema.vendor="CentOS" \\
    org.label-schema.license="GPLv2" \\
    org.label-schema.build-date="20201113" \\
    org.opencontainers.image.title="CentOS Base Image" \\
    org.opencontainers.image.vendor="CentOS" \\
    org.opencontainers.image.licenses="GPL-2.0-only" \\
    org.opencontainers.image.created="2020-11-13 00:00:00+00:00"

CMD ["/bin/bash"] #最后一行执行的命令

在哪找到的勒,在hub.docker.com上找到滴:centos

我们不会,但是可以先去看看人家怎么写的,抄作业这事,我想大家都熟悉吧。俗称CV大法

dockerfile保留字指令

FROM

基础镜像,当前新镜像是基于哪个镜像的

MAINTAINER

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

RUN

容器构建时运行的命令

EXPOSE

当前容器对外暴露的端口

WORKDIR

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

ENV

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

ADD

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

COPY

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

写法
1.COPY src dest
2.COPY["src","dest"]

VOLUME

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

CMD

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

ENTRYPOINT

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

ONBUILD

当构建一个被集成的Dockerfile时运行命令,父镜像在被子几成后腹肌你共享的onbuild被触发

以上是关于Dockerfile中的保留字指令讲解的主要内容,如果未能解决你的问题,请参考以下文章

dockerfile保留字指令

ApplicationDocker DockerFile解析

九Dockerfile

Docker&Kubernetes ❀ DockerFile保留关键字基本使用方法与相关解释

DockerFile构建过程解析

dockerfile构建过程