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 国际许可协议 进行许可。