我正在尝试忽略每个工作区/子文件夹中的每个node_modules
。
事实是:在卷中通过文件夹名称忽略它是不可能的(真正地)。
所以有这个技巧:
volumes:
- ./:/app
- /app/node_modules
如果应用程序只有一个单独的 node_modules
,那么它可以很好地工作。但是如果像下面的目录树中一样有多个呢?
project
| node_modules/
| docker-compose.yml
| Dockerfile
|
└─── workspaces/
| └─── client/
| | node_modules/
| |
| └─── server/
| | node_modules/
我真的需要在我的
docker-compose.yml
中将每个node_modules
都挂载为卷吗?volumes:
- ./:/app
- /app/node_modules
- /app/workspaces/client/node_modules
- /app/workspaces/server/node_modules
还有其他更好的方法吗?
node_modules
添加到dockerignore
文件中。 - Dominik Matisnode_modules
时并不是很可行。 - Anatole Lucet**/node_modules
,但是我现在在手机上无法测试,抱歉。 - Dominik Matisnode_modules
文件夹中有一个文件(我们称之为file.txt
),那么当容器被构建时它应该可以工作,但是在容器启动后,卷将共享主机的node_modules
到其中包含file.txt
的容器。试一下,然后用docker exec
运行ls
命令,你会看到这个文件。但是,也许我漏掉了什么。 - Anatole Lucet