如何将地方图书馆纳入build设?

我有这样的目录结构:

app/ inc/ www/ 

其中inc/包含应用程序www通用的代码。 为应用程序创build一个图像我做的:

 cd app docker build . 

所以构build的上下文app/的内容。 当然, inc/的代码将从应用中丢失,并且会中断

谷歌search我已阅读的build议,我应该:

 docker build -f app/Dockerfile . 

其中包括inc/ (好),但也包括一切(坏),如WWW

要解决问题,我将不得不build立一个脚本,将inc/的内容复制到app/ ,执行构build和删除app/inc/ 。 但是这很混乱,实际上,我不能这样做,因为我想要docker-compose来做我的构build。

推荐的方法是什么?

但也包括一切(坏)如www

这是一个.dockerignore文件可以派上用场的地方:声明www/

在docker CLI将上下文发送到.dockerignore守护程序之前,它将在上下文的根目录中查找名为.dockerignore的文件。
如果此文件存在,CLI会修改上下文以排除与其中的模式匹配的文件和目录。

这有助于避免不必要地将大型或敏感文件和目录发送到守护程序,并可能使用ADDCOPY将它们添加到图像。

包装docker构build或docker组成产生正确的.dockerignore将是现在的理想。

最终,每个版本应该能够指定自己的dockerignore文件。
见问题12886 。
然而:

这个function被搁置,等待正在研究/正在进行的其他更改。 其中之一是在发送构build上下文时使构build器变得“更智能”; 见#31829 。