Dockerfile
定义:
docker通过对于在dockefile中的一系列指令的顺序,解析实现自动的images的构建。
命令:
docker built构建
docker commit提交
流程:
1.docker从基本镜像运行一个容器
2.执行一条指令,对容器做出修改
3.执行类似docker commit 提交一个镜像层
4.docker 再基于新提交的镜像开启一个新的容器
5.执行dockerfile中的所有指令,直到所有指令都执行完毕。
方式:
1.通过源代码路径的方式
2.通过标准输入流方式
方法
- 源代码方式
dockerfile需要放到项目的根目录位置
根目录:构建环境,也叫环境上下文(context)或构建上下文(built context)
构建的时候,客户端会把整个context发送到服务端来构建,构建完成后删除context目录。
docker built -t 仓库名/镜像名 项目的路径 - 通过标准输入流的方式
标准输入流方式获取dockerfile的内容
client不会打包上传context目录,对于一些ADD,COPY等涉及宿主机本地文件复制的操作不能支持。
docker built -t 镜像名 - > dockerfile路径
build cache
dockerfile每执行一个指令,都会提交一个images
dockerfile会尽可能重用之前已经构建的镜像
可以通过–no-cache方式禁用cache
docker build --no-cache -t
dockeignore
选择源代码方式构建images时候,通过更目录下放置.dockerignore文件,来过滤不需要发送到server的文件
具体:https://docs.docker.com/engine/reference/builder/