我们在构建镜像文件时无非是使用:
docker build -t test/ubuntu:v1 .
或者
docker build -f /docker/test/Dockerfile .
来进行构建镜像 ,用第一个命令时任务. 指代的是当前目录下的dockerfile ,但是第二个命令-f指定了dockerfile的目录所以肯定不是当前目录
. 是上下文路径
上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。
原理:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。
如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。
注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。