Docker上下文路径的理解

docker build -t myniginx .

docker build命令最后的 "." 是在指定docker的上下文路径,如ADD ["./html","/www/html"] 中的相对路径就是上下文路径。因此dockerfile中只能使用相对路径,并且只能是上下文路径的相对路径。
在执行build命令时,docker client会将上下文路径下的所有文件发送到docker server,所以指定的上下文路径中最好是一个只包含项目所需内容的路径。
如果目录下有些东西确实不希望构建时传 给 Docker 引擎,那么可以用 .gitignore 一样的语法写一个 .dockerignore ,该文件是用于 剔除不需要作为上下文传递给 Docker 引擎的。
有些人误以为最后的"."是指定Dockerfile的路径,其实不然,Dockerfile默认是当前目录下的Dockerfile文件,可以通过 -f /docker/nginx/myDockerfile 来指定。并不是最后的".",切勿错误理解。