dockerfile命令

1 命令汇总

1.1 FROM

功能为指定基础镜像,并且必须是第一条指令。如果不以任何镜像为基础,那么写法为:FROM scratch,同时意味着接下来所写的指令将作为镜像的第一层开始。
语法:

FROM <image>
FROM <image>:<tag>
FROM <image>:<digest> 

三种写法,其中和 是可选项,如果不写,默认值为latest

1.2 ENV

功能为设置环境变量。

在Dockerfile中使用,在build docker imag的过程中有效,在image被创建和container启动后作为环境变量依旧也有效,并且可以重写覆盖。

语法:

ENV <key> <value>
ENV <key>=<value> ...

第一种是一次设置一个,第二种是一次设置多个。

1.3 ARG

在Dockerfile中使用,仅仅在build docker image的过程中(包括CMD和ENTRYPOINT)有效,在image被创建和container启动之后,无效。

如果你在Dockerfile中使用了ARG但并未给定初始值,则在运行docker build的时候未指定该ARG变量,则会失败。

虽然其在container启动后不再生效,但是使用‘docker history’可以查看到。所以,敏感数据不建议使用ARG.

设置ARG和使用ARG编译image, 实例如下:

# In the Dockerfile
ARG some_variable_name
# or with a hard-coded default:
#ARG some_variable_name=default_value
 
RUN echo "Oh dang look at that $some_variable_name"
# In the shell command
docker build --build-arg some_variable_name=a_value
# Then you will get
Oh dang look at that a_value
  1. ADD
  2. COPY

1.6RUN

功能为运行指定的命令。

语法:

RUN <command>
RUN ["executable", "param1", "param2"]

第一种后边直接跟shell命令,在linux操作系统上默认 /bin/sh -c。第二种是类似于函数调用。可将executable理解成为可执行文件,后面就是两个参数。在实际使用时,第一种较常见。

需要注意的一点是多行命令不要写多个RUN,原因是Dockerfile中每一个指令都会建立一层。多少个RUN就构建了多少层镜像,会造成镜像的臃肿、多层,不仅仅增加了构件部署的时间,还容易出错。RUN书写时的换行符是\

1.7 CMD

功能未容器启动时要运行的命令。

语法:

CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD command param1 param2
  1. ENTRYPOINT
  2. LABEL

2 hadoop dockerfile解析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值