dockerfile指令使用介绍

什么是dokerfile?
Dockerfile 是用来构建自定义 Docker 镜像的文本文档。我们通过docker build 命令用于从Dockerfile 文件构建镜像。如果你要构建自定义镜像,Dockerfile 是你必须学会的技能之一。

Dockerfile常用的指令

1、FROM 指令
FROM :
其中 tag 或 digest 是可选的,如果不使用这两个值时,会使用 latest 版本的基础镜像。

举例:From mysql:5.6

2、LABEL 指令
LABEL:用于为镜像添加元数据,多用于声明构建信息,作者、机构、组织等。格式:
LABEL = = = …

示例: LABEL version=“1.0” description=“felord.cn” by=“Felordcn”

3、ENV指令
ENV 用来设置环境变量,格式:
ENV # 之后的所有内容均会被视为其的组成部分,因此,一次只能设置一个变量
ENV = … #可以设置多个变量,每个变量为一个"=“的键值对,如果中包含空格,可以使用\来进行转义,也可以通过”"来进行标识;另外,\ 也可以用于续行

示例: ENV version 1.0.0 或者 ENV version=1.0.0

4、ARG指令
ARG 用于指定传递给构建运行时的变量,格式:
ARG [=]

通过 docker run 中的 --build-arg = 来动态赋值,不指定将使用其默认值。

5、WORKDIR指令
WORKDIR 用来指定工作目录,类似于我们通常使用的cd 命令,格式:
WORKDIR
通过 WORKDIR 设置工作目录,Dockerfile 中的其它指令 RUN、CMD、ENTRYPOINT、ADD、COPY等命令都会在该目录下执行。在使用 docker run 运行容器时,可以通过 -w 参数覆盖构建时所设置的工作目录。

6、ADD指令
ADD 用于将本地文件添加到镜像中,tar 类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似 wget,格式

示例: ADD home /path/ # 支持通配符 添加所有以"home"开头的文件 到/path/ 下

7、COPY指令
COPY 的功能类似于 ADD,但是不会自动解压文件,也不能访问网络资源

8、RUN 指令
RUN 用来执行构建镜像时执行的命令,有以下两种命令执行方式:
shell 执行格式:
       RUN
示例:RUN apk update
exec 执行格式:
RUN [“executable”, “param1”, “param2”]
示例: RUN ["/dev/file", “p1”, “p2”]
需要注意的是:RUN 指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用缓存镜像,可在构建时指定 --no-cache 参数,示例:docker build --no-cache

9、CMD指令
CMD 构建容器后执行的命令,也就是在容器启动时才执行的命令。格式:

执行可执行文件,优先执行

CMD [“executable”,“param1”,“param2”]

设置了 ENTRYPOINT,则直接调用ENTRYPOINT添加参数 参见 CMD 讲解

CMD [“param1”,“param2”]

执行shell命令

CMD command param1 param2
示例: CMD ["/usr/bin/bash","–help"]

CMD 不同于 RUN,CMD 用于指定在容器启动时所要执行的命令,而RUN用于指定镜像构建时所要执行的命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值