美文网首页
五、Dockerfile语法梳理

五、Dockerfile语法梳理

作者: 一直想上树的猪 | 来源:发表于2019-08-08 16:58 被阅读0次

一、FROM

FROM 关键字一般用于开头,去指定我们要build的image是基于什么image的。

  • FROM scratch
    不基于任何镜像去构建
  • FROM centos
    基于官方的centos去构建

最佳实践:尽量使用官方的image作为base image
原因很简单:为了安全!!!

二、LABEL

定义了image的mata data
相当于注释,标注作者、image的用途等

三、RUN

经常用的一个关键字,基于base image之上去运行一些命令的时候需要用到这个关键字。
对于image来讲,每运行一次RUN,就会产生新的一层
最佳实践:为了美观,复杂的RUN请用反斜线换行,避免无用分层,合并多条命令成一行

最佳实践

四、WORKDIR

设定当前工作目录,相当于在linux中的cd,然后在当前目录下去做事情。

WORKDIR
最佳实践:
1,用WORKDIR,不要用RUN cd
2.尽量使用绝对目录,不要使用相对目录

五、ADD COPY

将本地的文件添加到docker的image里面。
区别:ADD不仅可以添加、复制文件,还可以解压缩。

ADD COPY
最佳实践:
1,大部分情况,COPY优于ADD
2.ADD除了COPY还有额外功能(解压)
3.添加远程文件/目录请使用curl或者wget

五、ENV

声明一个常量

ENV
最佳实践:
尽量使用ENV增加可维护性

六、比较RUN、CMD、ENTRYPOINT

RUN:执行命令并创建爱你新的image layer
CMD:设置容器启动后默认执行的命令和参数
ENTRYPOINT:设置容器启动时运行的命令

1.两种格式
Shell格式和Exec格式
2.CMD
  • 容器启动时默认执行的命令
  • 如果docker run指定了其他的命令,CMD命令被忽略
  • 如果定义了多个CMD,则只执行最后一个
3.ENTRYPOINT
  • 让容器以应用程序或者服务的形式运行
  • 不会被忽略,一定会执行
  • 最佳实践:写一个shell脚本作为entrypoint


    脚本

相关文章

  • 五、Dockerfile语法梳理

    一、FROM FROM 关键字一般用于开头,去指定我们要build的image是基于什么image的。 FROM ...

  • Dockerfile语法梳理

    在上一篇 使用Docker部署第一个Springboot应用 中我们使用了Dockerfile来创建镜像,接下来让...

  • 2.6 dockerfile语法梳理

    FROM:从哪里构建image 注意:为了安全,请使用官方的image LABEL:标签 注意:Metadata不...

  • Dockerfile 的使用以及说明

    Dockerfile 语法

  • Docker 镜像制作

    Dockerfile语法 java镜像Dockerfile案例: FROM nimmis/ubuntu:14.0...

  • DockerFile语法梳理(会持续更新完善)

    为了方便日后查阅总结,做下语法记录。 FROM LABEL label很重要,就像要写注释。Metadata不可少...

  • Docker 笔记

    docker 命令 DockerFile 语法 例子

  • Docker 常用命令

    基本命令: Dockerfile 语法: 关于 Dockerfile 详细的情况,参见: https://www....

  • DockerFile语法

    DockerFile在我理解就是可以将所需要构建镜像的功能、组件都天前配置好,然后直接生成一个Image,而不是先...

  • Dockerfile 语法

    Dockerfile语法由两部分构成,注释和命令+参数 一个简单的例子 Dockerfile 命令 FROM 基础...

网友评论

      本文标题:五、Dockerfile语法梳理

      本文链接:https://www.haomeiwen.com/subject/dlaxjctx.html