首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用docker-sync时合并容器文件

使用docker-sync时合并容器文件
EN

Stack Overflow用户
提问于 2017-06-28 20:22:32
回答 1查看 731关注 0票数 2

我正在使用docker来加速node.js应用程序上的dev环境文件更新。

现在,我正在尝试缓存npm install命令,方法是将package.json移动到映像,并在创建映像时运行npm install

文档:

代码语言:javascript
运行
复制
ADD ./package.json /app/user/
RUN npm install

然后,我对docker-sync使用以下配置:

docker-sync.yml

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - appcode-rsync-sync:/app/user:nocopy
    command: grunt

volumes:
  appcode-rsync-sync:
    external: true

问题是npm installnode_modulespublic_libpublic_dist目录中安装了所有必需的包,但是在挂载docker-sync卷之后,它将从容器中删除所有这些目录(即使它们在sync_excludes中)。

我有任何选项或工作来阻止停靠同步删除容器上的文件吗?

-I已经尝试删除了nocopy,但是没有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 18:23:14

使用this answer我修改了docker-compose.yml来解决这个问题。

docker-compose.yml:

代码语言:javascript
运行
复制
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

如您所见,我添加了以下卷:

代码语言:javascript
运行
复制
- /app/user/public/lib/
- /app/user/public/dist/
- /app/user/node_modules/
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44811901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档