Dockerfile(二)---Dockerfile体系结构保留字指令

1. FROM

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

2. MAINTAINER

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

3. RUN

容器构建时需要运行的额外的命令

4. EXPOSE

当前容器对我暴露出的端口

5. WORKDIR

指定在创建容器后,终端默认登录的进来的工作目录,一个落脚点,如果不配置默认为根目录 进入之后目录为/

6. ENV

用来在构建镜像过程中设置环境变量
ENV MY_PATH /usr/mytest
这个环境变量可以在后续的RUN指令中使用,这就如同在命令前面指定了环境变量前缀一样;也可以在其它指令中直接使用这些环境变量,

比如: WORKDIR $MY_PATH

7. ADD

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

8. COPY

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

  • COPY src dest
  • COPY [“src”, “dest”]

9. VOLUME

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

10. CMD

指定一个容器启动时要运行的命令

CMD 容器启动命令
CMD指令的格式和RUN相似,也是两种格式

  • shell 格式: CMD<命令>
  • exec 格式: CMD[“可执行文件”, “参数1”, “参数2”…]
  • 参数列表格式: CMD[ “参数1”, “参数2”…], 在指定了ENTRYPOINT指令后,用CMD指定具体的参数

Dockefile中够可以有多个CMD指令,但只有最后一个生效,CMD会被 run之后的参数替换

11. ENTRYPOINT

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

CMD和ENTRYPOINT区别在于:

  • docker run之后的参数会替换CMD指令,但是不会替换ENTRYPOINT指令
  • 有多个CMD指令时,只有最后一个CMD指令生效,而ENTRYPOINT有多个指令时,相当于ENTRYPOINT指令追加,多个ENTRYPOINT指令都会生效

12. ONBUILD

当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发

保留字指令说明
FROM基础镜像,当前的新镜像是基于哪个镜像的
MAINTAINER镜像维护者的姓名和邮箱地址
RUN容器构建时需要运行的额外的命令
EXPOSE当前容器对我暴露出的端口
WORKDIR指定在创建容器后,终端默认登录的进来的工作目录,一个落脚点,如果不配置默认为根目录 进入之后目录为/
ENV用来在构建镜像过程中设置环境变量
ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY类似ADD,拷贝文件和目录到镜像中
VOLUME容器数据卷,用于数据保存和持久化工作
CMD指定一个容器启动时要运行的命令
ENTRYPOINT指定一个容器启动时要运行的命令
ONBUILD当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发
BUILDBothRUN
FROMWORKDIRCMD
MAINTAINERENV
COPYEXPOSE
ADDVOLUME
RUNENTRYPOINT
ONBUILD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值