Docker容器——Dockerfile中常用的关键词

2022-03-06 09:24:51 浏览数 (1)

Docker容器——Dockerfile中常用的关键词

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:Ubuntu
  • 工具:docker

内容

本节我们进行整理一份Dockerfile文件中常用的一些关键词,便于我们后续编写镜像时快速使用

命令

作用

FROM 镜像名

指定基于的镜像名称

WORKDIR 工作目录

指定下面运行的命令所在的工作目录

RUN 命令

执行某条命令,该命令的语法可以参考上面指定的镜像所属系统格式,例如centos,则遵循centos的相关命令语法

COPY [--chown=<user>:<group>] 源路径 目标路径

用于复制文件到达容器中的指定文件夹下,前面可更改文件、文件夹所属用户权限

ADD 源文件 目的位置

将指定的文件解压到指定容器目录下,当文件时tar压缩的文件时自动完成解压,而gzip等格式只会复制到目的位置中,使用时需注意

CMD 命令

在基于该镜像run容器时自动执行的命令

ENTRYPOINT ["<executeable>","<param1>","<param2>",...]

指定run容器时执行的命令和参数,当多个时最后一个有效其他无效,当run时使用 --entrypoint 则会覆盖原有设定

ENV <key> <value>

指定环境变量

ARG <参数名>[=<默认值>]

声明一个在Dockerfile中有效的全局变量,可以用于在编写文件时各处使用

VOLUME ["<路径1>", "<路径2>"...]

定义默认挂载的数据卷,在docker run时也是可以被覆盖的

EXPOSE <端口1> [<端口2>...]

声明暴露出去的端口,这个端口在我们进行创建容器时方便做对应的映射配置

USER <用户名>[:<用户组>]

指定后续命令执行的用户,这里注意需要用户已存在方能指定

HEALTHCHECK [选项] CMD <命令>

用户监控容器运行状态

ONBUILD <其它指令>

用于延迟构建命令的执行,这个有利于降低我们的镜像初期大小,只有在被使用时才会执行

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

设定镜像的元数据,例如设置作者、描述等信息

上面就是本次整理的Dockerfile常用关键词,有需要的可以关注收藏。

本文声明:

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

0 人点赞