我正在尝试通过将yarn.lock中的所有当前软件包都安装在映像上来加快docker的速度。我想我做的纱安装不正确,在其他地方工作?
dockerfile的相关部分:
# Create a dir
WORKDIR /(WORKDIR)
# Time to install all our dependencies
COPY package.json /(WORKDIR)/package.json
COPY yarn.lock /(WORKDIR)/yarn.lock
# Need the executables to be in the path
ENV PATH /app/node_modules/.bin:/bundle/bin:$PATH
RUN yarn check --verify-tree || yarn install --frozen-lockfile
我认为我的最后一行是错误的。它安装在某个地方,但不在包装本身上吗?要么是缓存,要么是一个问题。如果启动图像,我会发现yarn check --verify-tree
的输出仍然是图像的当前状态。
RUN yarn check --verify-tree || && yarn install --frozen-lockfile
我不认为Shell脚本支持此|| &&
[Here是执行类似任务的好博客文章。