依赖项未保存在 ubuntu

Dependencies are not saving in ubuntu

我正在做一个 React js 项目,我正在使用 docker。随着 ubuntu 重新启动所有依赖项,再次开始下载。我不明白为什么依赖项没有保存在项目文件夹中。我不希望每次我的依赖项在重新启动时一次又一次地下载。

在 docker

中的 database:start 每次拉

最新:来自 library/mysql

aa18ad1a0d33: Pull complete fdb8d83dece3: Pull complete 75b6ce7b50d3: Pull complete ed1d0a3a64e4: Pull complete 8eb36a82c85b: Pull complete 41be6f1a1c40: Pull complete 0e1b414eac71: Pull complete 914c28654a91: Pull complete 587693eb988c: Pull complete b183c3585729: Pull complete 315e21657aa4: Pull complete

摘要:sha256:0dc3dacb751ef46a6647234abdec2d47400f0

Docker 有一种将内容存储在缓存中的方法:它检查 Docker 文件的每一行指令中的修改,当它发现某行有差异时,它会重新运行它以及下面的所有说明。对于 COPY 指令,它的工作原理相同,除了它还会检查文件本身是否已更改。
我假设您在 之前 在 Docker 文件中安装依赖项之前复制项目文件。
您应该先复制 package.json,然后安装依赖项,然后复制所有项目文件。这样,只有当您的 package.json 文件更改
.
时,它才会下载新的依赖项 这是我的意思的一个例子:

FROM node:latest
COPY package.json .
RUN npm install
COPY . .
EXEC npm run