Docker COPY与文件夹通配符

给定一个像这样的文件结构:

project root |-- X.sln |-- src | |-- Foo | | |-- Foo.fsproj | | |-- Foo.fs | |-- Bar | |-- Bar.fsproj | |-- Bar.fs |-- test |-- Baz |-- Baz.fsproj 

我想先将所有的.fsproj文件添加到我的Docker镜像,然后运行一个命令,然后添加其余的文件。 我尝试了以下,但当然不起作用 :

 COPY X.sln . COPY **/*.fsproj . RUN dotnet restore COPY . . RUN dotnet build 

这个想法是,在前两个COPY步骤之后,图像上的文件树就像这样:

 working dir |-- X.sln |-- src | |-- Foo | | |-- Foo.fsproj | |-- Bar | |-- Bar.fsproj |-- test |-- Baz |-- Baz.fsproj 

其余的树只在RUN dotnet restore 添加。

有没有一种方法来模拟这种行为,最好不使用dockerfile以外的脚本 ?