日本語のリファレンスには書いていないけど、英語版にはちゃんと書いてあった。
Beyond Go’s filepath.Match rules, Docker also supports a special wildcard string ** that matches any number of directories (including zero).
他の書き方も含めてまとめると下記のようになる。
# トップディレクトリ、および全ての子孫ディレクトリにあるnode_modulesを除外
**/node_modules
# トップディレクトリ直下のnode_modulesだけ除外
node_modules
# トップディレクトリの子ディレクトリのnode_modulesだけ除外
*/node_modules
# トップディレクトリの孫ディレクトリのnode_modulesだけ除外
*/*/node_modules