我正在使用docker来加速node.js应用程序上的dev环境文件更新。
现在,我正在尝试缓存npm install
命令,方法是将package.json
移动到映像,并在创建映像时运行npm install
。
文档:
ADD ./package.json /app/user/
RUN npm install
然后,我对docker-sync使用以下配置:
docker-sync.yml
version: "2"
options:
verbose: true
syncs:
appcode-rsync-sync:
src: './'
sync_host_ip: 'auto'
sync_host_port: 10872
sync_strategy: 'rsync'
sync_excludes: [ 'public/lib/', 'public/dist/', 'node_modules/']
这是docker-compose.yml
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- appcode-rsync-sync:/app/user:nocopy
command: grunt
volumes:
appcode-rsync-sync:
external: true
问题是npm install
在node_modules
、public_lib
、public_dist
目录中安装了所有必需的包,但是在挂载docker-sync
卷之后,它将从容器中删除所有这些目录(即使它们在sync_excludes
中)。
我有任何选项或工作来阻止停靠同步删除容器上的文件吗?
-I已经尝试删除了nocopy
,但是没有帮助。
发布于 2017-06-29 18:23:14
使用this answer我修改了docker-compose.yml
来解决这个问题。
docker-compose.yml:
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- /app/user/public/lib/
- /app/user/public/dist/
- /app/user/node_modules/
- appcode-rsync-sync:/app/user:nocopy
command: grunt
volumes:
appcode-rsync-sync:
external: true
如您所见,我添加了以下卷:
- /app/user/public/lib/
- /app/user/public/dist/
- /app/user/node_modules/
https://stackoverflow.com/questions/44811901
复制相似问题