DockerFile 使用来构建Docker镜像的文本文件,是由一条条构建镜像所需要的指令和参数组成脚本

保留字指令必须大写且至少跟随一个参数- 指令从上到下执行
- # 标识注释
- 每条指令都会创建一个新的镜像层并对镜像进行提交

| 保留字 | 含义 |
|---|---|
| FROM | 基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,第一条必须是FROM |
| MAINTAINER | 镜像维护者的姓名和邮箱地址 |
| RUN | 容器构建时需要运行的命令 |
| EXPOSE | 当前容器对外暴露出的端口 |
| WORKDIR | 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点 |
| USER | 指定该镜像以什么样的用户去执行,如果都不指定,默认为root |
| ENV | 用来在构建镜像过程中配置环境变量 |
| ADD | 将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包 |
| COPY | 将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置 |
| VOLUME | 容器数据卷,用于数据保存和持久化工作 |
| CMD | 指定一个容器启动时要执行的命令 (会被之后的CMD覆盖) |
| ENTRYPOINT | 也是指定一个容器启动时要执行的命令 (不会被之后的CMD覆盖,会将其当作参数) |
需求说明
使原始的centos具备 vim+ifconfig 这两项工具
vim Dockerfile
FROM centos:7
ENV MYPATH /usr/local
WORKDIR $MYPATH
#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令查看网络IP
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD bash
在Dockerfile文件目录下执行
# 别落下最后的点
docker build -t centos2:1.1 .
# 查看images
docker images -a
如果执行过程中出现错误有可能出现虚悬镜像(仓库和标签号都为 )
我们可以通过以下命令进行删除虚悬镜像
docker image prune
错误有可能出现虚悬镜像(仓库和标签号都为 <none>)
我们可以通过以下命令进行删除虚悬镜像
```shell
docker image prune