1.说明
dockerfile是用来构建docker镜像的文本文件,是由一条条构建镜像所需要的指令和参数构成的脚本
2.常用指令
| 指令 | 说明 |
|---|---|
| FROM | 基础镜像,当前新镜像是基于哪个镜像的 |
| MAINTAINER | 指定Dockerfile的作者/维护者 |
| LABEL | 添加镜像的元数据,使用键值对的形式 |
| VOLUME | 定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷 |
| RUN | 容器构建时需要运行的命令 |
| EXPOSE | 当前容器对外暴露出的端口 |
| WORKDIR | 指定在创建容器后,终端默认登录的进来工作目录 |
| USER | 指定该镜像以什么样的用户去执行,如果不指定,默认是root |
| ENV | 构建过程中设置的环境变量 |
| ADD | 将宿主机目录下的文件拷贝进镜像且会自定处理URL和解压tar压缩包 |
| COPY | 拷贝文件和目录到镜像中 |
| CMD | 指定容器启动后要做的事情 |
| ENTRYPOINT | 指定容器启动时要运行的命令 |
3.注意点
3.1 RUN和CMD
CMD是在docker run时运行,会被docker run之后的命令覆盖 ; RUN是在docker build时运行
3.2 CMD和ENTRYPOINT
ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当做参数送给ENTRYPOINT指令指定的程序
4.运行Dockerfile
docker build -t image_name:tag_name .
5.虚悬镜像
仓库名称和tag名称都为none的镜像,会存在占用磁盘空间、管理混乱、存在安全隐患等危害
5.1查找
docker image ls -f dangling=true

查找虚悬镜像.png
5.2删除虚悬镜像
docker image prune

删除虚悬镜像.png