Docker访问复制的生成上下文外部的路径

Docker访问复制的生成上下文外部的路径,docker,Docker,如果我的项目是结构化的: docker: ==> Dockerfile_1 source_code 在Dockerfile1中,我有: COPY //source_code 如何将源代码文件夹添加到dockerfile。我一直收到一条信息说: COPY failed: Forbidden path outside the build context: ../source_code () 您不能使用构建上下文之外的路径-这是有意的,这样您的容器应该完全由该目录中的文件指定 您通常想

如果我的项目是结构化的:

docker:
  ==> Dockerfile_1
source_code
在Dockerfile1中,我有:

COPY //source_code
如何将源代码文件夹添加到dockerfile。我一直收到一条信息说:

COPY failed: Forbidden path outside the build context: ../source_code ()

您不能使用构建上下文之外的路径-这是有意的,这样您的容器应该完全由该目录中的文件指定

您通常想要做的只是让Dockerfile与源代码一起使用——很少有理由需要它远离源代码


另一种可能是在源代码目录中,使用
docker build-f/path/to/Dockerfile
。这将是非常麻烦的使用,在我看来,我看不出有任何方式比仅仅将Dockerfile放在项目根目录中更合理。

您能修复您的项目结构吗?不清楚实际结构是什么(什么是
/
?)。在
source\u code
级别为True,然后运行
docker build--file docker/Dockerfile\u 1
//意味着我正在尝试访问构建上下文之外的路径。只是因为它在错误的地方被编辑了我不知道docker,但是通常说“上面目录中的fileX”是
。/fileX
谢谢,这是有意义的
我看不出这比将Dockerfile放在项目根目录中更合理。
我可以-对于同一个项目,您可能需要多个Dockerfile,例如使用不同的基本操作系统或不同的体系结构创建容器。大多数人通常有一个用于轻型阿尔卑斯版本,一个用于全尺寸的Debian、Ubuntu或CentOS版本。这一点很好。不过,我还是把它放在项目树的内部,而不是外部,这正是我试图解决的问题(巴德说得不够好)