了解docker build 命令后点号( . )的意思
在使用docker build
命令构建镜像时,我们会看到命令行的最后有一个点号.
。这此来研究以下这个.
号是什么意思?
没有仔细研究过的人员应该和我最初的想法一样,
.
是用来表示Dockerfile文件所在的位置。但当我们仔细阅读docker相关的文档会发现,指定Dockerfile路径是用-f
参数.如下
docker build -f /usr/local/a/Dockerfile .
因此我们需要再次阅读一下官方文档,去仔细探究.
号是什么意思
在官方文档的Dockerfile reference的章节中有以下重点内容:
- 生成过程的第一件事是将整个文件构建镜像上下文(递归)发送到守护进程。
- ps:不要使用根目录 ,因为它会将硬盘驱动器的全部内容传输到 Docker 守护进程。
- 一个个指令是在Docker守护进程中运行,然后将每个指令的结果提交到新镜像,最终输出新镜像的ID。Docker守护进程会自动清理发送的构建镜像上下文。"
通过上述内容可以大致知道 镜像的构建是在Docker引擎(Docker守护进程)中完成的。 在执行docker build
命令后,本机会将Dockerfile文件所在路径下的所有文件打包上传给Docker引擎,由Docker引擎完成镜像的构建。
结论:.
号是指镜像构建时打包上传到Docker引擎中的文件的目录,不是本机目录