Dockerfile常用保留字指令

岳小威子
2023-08-07 / 419 个字 / 0 评论 / 6 阅读 / 加载耗时:20ms / 正在检测是否收录...
温馨提示:
本文最后更新于2023年08月07日,已超过502天没有更新,若内容或图片失效,请留言反馈。

FROM

基础镜像,当前新镜像是基于那个镜像的,指定一个已存在的镜像作为模版,第一条必须是FROM;

MAINTAINER

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

RUN

容器构建时需要运行的命令,RUN是在docker build是运行

# shell格式 RUN <命令行命令>
# <命令行命令>等同于在终端操作的shell命令
RUN yum -y install vim

# exec格式 RUN ["可执行文件","参数1","参数2"]
RUN ["./test.php","dev","offline"]
# 等价于run ./test.php dev offline

EXPOSE

当前容器对外暴露的端口

WORKDIR

指定在容器创建后,终端默认登录进来的工作目录,一个落脚点

USER

指定该镜像以什么样的用户去执行,如果都不指定,默认是root

ENV

用来在构建镜像过程中设置环境变量

ADD

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

COPY

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

COPY src dest
COPY ["src","dest"]
# <src源路径>:源文件或源目录
# <dest目标路径>:容器内的指定路径,改路径不用事先建好,路径不存在的话会自动创建

VOLUME

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

CMD

指定容器启动后要干的事情。CMD是在docker run是运行
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换

ENTRYPOINT

也是用来指定一个容器启动时要运行的命令。;类似于CMD指令,但是ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当做参数送给ENTRYPOINT指令指定的程序

文章到这里就结束了

您在本文章已经停留了大概
喜欢的话就点个赞吧!或着请我喝个冰可乐,我就太感谢你了!


0
打赏
拜谢打赏(☆ω☆)

感谢老板,老板大气。。

评论 (0)

取消