我知道我可以将主机上的文件夹挂载到容器中。但是,如果我在Mac上开发,应用程序可能需要在容器中运行不同的依赖性。建议在主机和容器之间共享此文件夹的做法。
示例:
我们有一个nodejs项目:
workspace
|\-node_modoule
|\-app
|\-config
....
主机正在运行 Mac OSX ,容器正在运行 Ubuntu 。当我尝试在IDE中调试项目时(例如,Intellij的想法),我应该在node_modoule文件夹中拥有所有依赖项,这可能是特定于操作系统。然后当我用容器运行它会失败,因为它可能需要不同的依赖。
答案 0 :(得分:0)
尝试将node_modules/
添加到.dockerignore
以防止将此目录吸入上下文,然后通过标准volume
命令共享每个目录。
例如。撰写文件:
web:
build: .
volumes:
# need to list all directories due to node_modules/ and bower_components/ :/
- "app:/src/app"
- "client:/src/client"
- "config:/src/config"
- "public:/src/public"
- "scripts:/src/scripts"
links:
- "redis:redis"
ports:
- "8888:8888"
command: node_modules/.bin/grunt
redis:
image: redis