gpt4 book ai didi

node.js - 使用docker-sync时合并容器文件

转载 作者:行者123 更新时间:2023-12-02 19:36:20 25 4
gpt4 key购买 nike

我正在使用docker-sync来加快node.js应用程序上的开发环境文件更新。

现在,我正在尝试通过将npm install移动到图像并在创建图像时运行package.json来缓存npm install命令。

Dockerfile:

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_modulespublic_libpublic_dist目录中,但是在安装 docker-sync卷之后,它将从容器中删除所有这些目录(即使它们在 sync_excludes中)。

我有什么选择或解决方法来防止docker-sync删除容器上的文件?

-我已经尝试删除 nocopy,但没有帮助

最佳答案

使用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/

关于node.js - 使用docker-sync时合并容器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44811901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com