一、什么是dockerfile?
- Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。是由一系列命令和参数构成的脚本。
- Docker通过读取Dockerfile中的指令自动生成映像。
docker build命令用于从Dockerfile构建映像。
可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。
示例:
docker build -f /opt/Dockerfile
二、Dockerfile操作指令
指令 | 含义 |
---|
FROM 镜像 | 指定新镜像所基于的镜像,第一条指令必须为 FROM 指令,每创建一个镜像就需要一条 FROM 指令 |
MAINTAINER 名字 | 说明新镜像的维护人信息 |
RUN 命令 | 在所基于的镜像上执行命令,并提交到新的镜像中 |
CMD [ “要运行的程序”,“参数” ] | 指令启动容器时要运行的命令或者脚本,Dockerfile只能有一条CMD命令,如果指定多条则只能执行最后一条 |
EXPOSE 端口号 | 指定新镜像加载到Docker时要开启的端口 |
ENV 环境变量 变量值 | 设置一个环境变量的值,会被后面的RUN使用 |
ADD 源文件/目录 目标文件/目录 | 将源文件复制到目标文件,源文件要与Dockerfile位于相同目录中,或者是一个URL |
COPY 源文件/目录 目标文件/目录 | 将本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile在相同的目录中 |
VOLUME [ “目录” ] | 在容器中创建一个挂载点 |
USER 用户名/UID | 指定运行容器时的用户 |
WORKDIR 路径 | 为后续的RUN、CMD、ENTERYPOINT 指定工作目录 |
ONBUILD 命令 | 指定所生成的镜像作为一个基础镜像时所要运行的命令 |
HEALTCHECK | 健康检查 |
三、Docker状态
Exitd (0) 正常退出
Exitd (非0值) 异常退出
Exitd (137) 停止容器时出现状态
Created 创建容器
up 容器正常运行时的状态