DockerFile 中的保留字(指令)说明

简介: FROM表示新构建的镜像是基于哪个镜像的,指定一个已存在的镜像作为模板。dockerfile中第一条必须是from

FROM

表示新构建的镜像是基于哪个镜像的,指定一个已存在的镜像作为模板。dockerfile中第一条必须是from


MAINTAINER

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


RUN

容器构建的时候需要运行的命令


有两种格式,shell格式和exec格式


shell格式,RUN 后面直接跟shell命令。例如:RUN yum -y i vim


exec格式,RUN ["可执行文件","参数1","参数2"]。例如:RUN ["./test.sh","dev","open"]


EXPOSE

当前容器对外暴露的端口


WORKDIR

在容器创建之后,终端进入容器后的默认目录


USER

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


ENV

在构建镜像过程中设置环境变量,语法是 ENV key value


相当于在docker file脚本中定义变量,这个变量可以在当前脚本的后续指令中使用


VOLUME

定义容器数据卷,不了解容器数据卷的可以看这里:点这里


ADD

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


COPY

将宿主机目录下的文件拷贝到镜像中


CMD

指定容器启动后要干的事情,语法格式跟RUN类似,也是有两种形式


dockerfile中可以有多个CMD指令,但只有最后一个生效


CMD会被docker run 之后的参数覆盖掉


例如 docker run -it -p 8888:8888 centos /bin/bash


后面加了/bin/bash ,就会把docker file中的CMD指令覆盖掉


和RUN指令的区别就是,RUN是在docker build 构建的时候运行,CMD是在docker run 启动的时候运行


ENTRYPOINT

也是用来指定一个容器启动时要运行的命令


类似于CMD,但是不会被覆盖


搭配CMD一起使用时,CMD变成可变参数,可以被docker run时传的参数替换掉


例如:


ENTRYPOINT ["nginx","-c"]


CMD ["/etc/nginx/nginx.conf"]


直接运行


docker run nginx


相当于nginx -c /etc/nginx/nginx.conf


传参运行


docker run nginx -c /xxx.conf


相当于 nginx -c /xxx.conf


相关文章
|
6天前
|
运维 Linux Shell
Dockerfile中的保留字指令讲解
Dockerfile中的保留字指令讲解
73 0
|
6天前
|
JSON 物联网 Shell
Dockerfile指令详解
Dockerfile指令详解
68 0
|
6天前
|
Linux Docker 容器
Docker Dockerfile 语法与指令
Docker Dockerfile 语法与指令
29 0
|
10月前
|
Shell Docker 容器
dockerfile语法
dockerfile语法
84 0
Dockerfile(3) - WORKDIR 指令详解
Dockerfile(3) - WORKDIR 指令详解
829 0
|
NoSQL Java Linux
DockerFile 保留字指令 | 学习笔记
快速学习 DockerFile 保留字指令
65 0
DockerFile 保留字指令 | 学习笔记
|
NoSQL 安全 Java
DockerFile 保留字指令|学习笔记
快速学习 DockerFile 保留字指令
68 0
DockerFile 保留字指令|学习笔记
|
Docker 容器
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
本文是博主学习docker 制作镜像指令的记录,希望对大家有所帮助
160 0
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
|
存储 Shell 应用服务中间件
学习Docker就应该掌握的dockerfile语法与指令
在日常的工作中,常常需要制作自己的项目的镜像,一般通过以下两种方式制作镜像:Docker commit、Dockerfile。 ## Docker commit Docker commit一般用做从一个运行状态的容器来创建一个新的镜像。定制镜像应该使用Dockerfile来完成。 ``` docker commit 容器名 新镜像名:tag ``` 使用这种方式的缺点是:1.对外不
Dockerfile(1) - FROM 指令详解
Dockerfile(1) - FROM 指令详解
518 0