Dockerfile中的保留字指令讲解
Posted 宁在春
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile中的保留字指令讲解相关的知识,希望对你有一定的参考价值。
之前简单学过Docker,当时是为了快速部署一个项目,过的很快,对于Dockerfile文件的编写,有些显的陌生。
所以就写了这篇文章。希望能够帮助到大家哦!!!
一、Dockerfile是什么?
概念:
Dockerfile是用来构建Docker镜像的构建文件,由一系列命令和参数构成的脚本
构建三步骤:
- 编写Dockerfile文件
- docker build
- docker run
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中的保留字指令讲解的主要内容,如果未能解决你的问题,请参考以下文章
ApplicationDocker DockerFile解析