- 主项目
- 我的项目
- Dockerfile
- .dockerignore
- 我的项目
当我尝试从MyProject
内部构建Dockerfile时,dockerignore
的所有内容都会被忽略。但是,如果我像docker build -f MyProject/Dockerfile .
一样从MainProject
文件夹构建,则dockerignore
中的任何内容都不会被忽略。有人能解释一下我哪里错了吗?
Docker使用一种称为构建上下文的东西。这就是您在此处指定的内容:docker build <PATH-TO-CONTEXT>
。根据文件:
在docker CLI将上下文发送到docker守护进程之前,它会在上下文的根目录中查找名为.dokerignore的文件。
因此,您需要为要读取的.dockerignore
文件指定正确的构建上下文。如果Dockerfile
位于构建上下文的根目录中,也可以省略-f
参数。因此,您可以从MainProject
文件夹中执行docker build ./MyProject
,一切都应该正常。