我不太熟悉docker的工作,这是一个大型企业应用程序的一部分,它正在将dev环境迁移到docker。
现在,码头外的yarn install大约需要10分钟才能完成,这主要是在Linking Dependencies...步骤中完成的,因为我想有超过30k的对象要链接。在第一个yarn install之后,只需1秒即可完成。如果我更改了一个依赖项,则需要大约10秒的才能完成。所以它比10分钟快得多!
但是在docker内部,每次都要花费5-10分钟的时间(),不管依赖关系是否改变。
知道为什么会这样吗?
我们使用坞-合成和有几个不同的进程,其中之一是一个节点服务器。每当package.json更改时,节点服务器都会运行纱线安装,但这是相当频繁的(每天更新几次)。因此,纱线安装每天运行几次。理想情况下,这将是最快的运行外码头,但我不知道从哪里开始寻找。是否有一种设置或某种东西正在删除每个docker-compose restart node上的纱线缓存,或者什么?
我们在docker-compose.yml中基本上有这个
services:
...
node:
image: myimage:latest
...
volumes:
- ./:/app:cached
- ./node_modules_docker:/app/node_modules:cached
working_dir: /app
...
...发布于 2020-12-04 17:56:01
似乎最新的“Mac的Desktop”版本以某种方式优化了文件的共享方式。
使用最新版本(今天2.5.3):https://docs.docker.com/docker-for-mac/edge-release-notes/
现在,在码头上运行yarn install似乎和在我的mac上运行它一样快。
希望能帮上忙。
编辑2021/02/26 :
我保持了码头的最新(3.x),不知何故,我尝试了非常慢的纱线安装再次。
使用Docker2.5.4 (edge)再次加快速度:https://github.com/docker/docker.github.io/blob/master/docker-for-mac/edge-release-notes.md
https://stackoverflow.com/questions/57578110
复制相似问题