- Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本
- 官方文档 https://docs.docker.com/engine/reference/builder/
构建三步骤
· 编写Dockerfile文件
· docker build命令构建镜像
· docker run依镜像运行容器实例
Docker执行Dockerfile的大致流程
· (1)docker从基础镜像运行一个容器
· (2)执行一条指令并对容器作出修改
· (3)执行类似docker commit的操作提交一个新的镜像层
· (4)docker再基于刚提交的镜像运行一个新容器
· (5)执行dockerfile中的下一条指令直到所有指令都执行完成
测试案例
新建 Dockerfile文件
#继承镜像
FROM centos:7
#作者名字和邮箱
MAINTAINER zyw<724797358@qq.com>
设置全局变量
ENV MYPATH /usr/local
WORKDIR $MYPATH
#写shell脚本或者linux命令
RUN yum -y vim
RUN cd /文件夹之类
#ADD 是相对路径tar包加到容器中,安装包必须要和Dockerfile文件在同一位置,ADD复制过去并解包 package.tar是本地文件打的包 也可也是自己项目打的包
ADD package.tar /usr/local/testdockerfile/
EXPOSE 88
CMD /bin/bash
构建镜像
docker build -t centos:1.1 . 命令后面是 空格 加点
构建镜像成功
可以正常docker run 该镜像,该镜像里包含dockerfile里面的安装的yum 和add过去的文件
如果构建失败会出现一个<none> 标记的镜像 也成为虚悬镜像,要把这些删除掉
·仓库名、标签都是<none>的镜像,俗称dangling image
docker image ls -f dangling=true 查看虚悬镜像
docker image prune 删除虚悬镜像