五、Dockerfile语法梳理

2019-08-08  本文已影响0人  一直想上树的猪

一、FROM

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

最佳实践:尽量使用官方的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
3.ENTRYPOINT
上一篇下一篇

猜你喜欢

热点阅读