加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – npm package.json和docker(挂载……)

发布时间:2020-12-16 03:54:08 所属栏目:安全 来源:网络整理
导读:我正在使用Docker,所以这种情况可能看起来很奇怪.但我希望我的整个/ data目录在开发时安装在我的docker容器中. 我的/ data文件夹容器是我的package.json文件,一个app目录和一堆其他的东西. 问题是我希望我的node_modules文件夹不是持久的,只是package.json文

我正在使用Docker,所以这种情况可能看起来很奇怪.但我希望我的整个/ data目录在开发时安装在我的docker容器中.

我的/ data文件夹容器是我的package.json文件,一个app目录和一堆其他的东西.
问题是我希望我的node_modules文件夹不是持久的,只是package.json文件.

我尝试了几件事,但是package.json和npm给了我很难的时间……

>直接挂载package.json文件会破坏npm. npm尝试在保存时重命名文件,这在安装文件时是不可能的.
>挂载父文件夹(/ data)将挂载node_modules文件夹.
>我找不到任何配置选项将node_modules放在/ data,example / dist之外的另一个文件夹中
>将package.json放在/ data / conf中将/ data / conf作为卷安装而不会工作.我找不到任何方法来指定npmrc中的package.json路径.
>将package.json放在/ data / conf中并将其符号链接到/data/package.json不会工作. npm打破符号链接并用文件替换它.

在docker容器内来回传输数据是我现在正在做的事情..有点乏味……我也想要一个干净的解决方案..

最佳答案
正如您已经回答的那样,我认为这可能是目前唯一的解决方案.

在构建Docker镜像时,请执行以下操作:

COPY data/package.json /data/
RUN mkdir /dist/node_modules && ln -s /dist/node_modules /data/node_modules && cd /data && npm install

而对于其他东西(如凉亭,做同样的事情)

COPY data/.bowerrc /data/
COPY data/bower.json /data/
RUN mkdir /dist/vendor && ln -s /dist/vendor /data/vendor && cd /data && bower install --allow-root

最后还是COPY数据/ /数据(因此,当数据发生变化时,您可以使用Dockers缓存而不必进行npm / docker安装.

您还需要创建所需的符号链接并将它们存储在您的git-repo中.它们在外部无效,但会在容器内部发挥作用.

使用此解决方案,您可以安装$PWD / data:/ data而无需在容器外部获取npm / bower“垃圾”.您仍然可以将您的映像构建为服务的独立部署.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读