dockerfile 的关键字

2022-09-14  本文已影响0人  爲誰而来

Dockerfile 指令选项:

FROM                  #基础镜像 。 (centos)

MAINTAINER            #镜像的作者和邮箱。(已被弃用,结尾介绍代替词)

RUN                  #镜像构建的时候需要执行的命令。

CMD                  #类似于 RUN 指令,用于运行程序(只有最后一个会生效,可被替代)

EXPOSE                #对外开放的端口。

ENV                  #设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。

ADD                  # 步骤:tomcat镜像,这个tomcat压缩包。添加内容。

COPY                  #复制指令,将文件拷贝到镜像中。

VOLUME                #设置卷,挂载的主机目录。

USER                  #用于指定执行后续命令的用户和用户组,

                      这边只是切换后续命令执行的用户(用户和用户组必须提前已经存在)。

WORKDIR              #工作目录(类似CD命令)。

ENTRYPOINT            #类似于 CMD 指令,但其不会被 docker run

                      的命令行参数指定的指令所覆盖,会追加命令。

ONBUILD              #当构建一个被继承Dokcerfile,就会运行ONBUILD的指令。出发执行。

注意:CMD类似于 RUN 指令,用于运行程序,但二者运行的时间点不同:

CMD 在docker run 时运行。

RUN 是在 docker build。

作用:为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束。

CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖。

如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效。

LABEL(MAINTALNER已经被弃用了,目前是使用LABEL代替)

LABEL 指令用来给镜像添加一些元数据(metadata),以键值对的形式,语法格式如下:

LABEL <key>=<value> <key>=<value> <key>=<value> ...

比如我们可以添加镜像的作者:

LABEL org.opencontainers.image.authors="runoob"

上一篇 下一篇

猜你喜欢

热点阅读