我正在尝试构建一个docker镜像,可选择在构建时添加一个纱线(或npm lockfile)。我想明确地添加它,但如果不包含它也不会使构建失败。
如果托管应用程序使用确定性构建过程但不强制它,则意图是尊重它。我还想让一个应用程序使用这个容器来引导自己进入确定性构建。
这是我开始的:
FROM node:8.12.0-alpine
USER node
WORKDIR ${my_workdir}
COPY --chown=node:node src/yarn.lock ./
COPY --chown=node:node src/package*.json ./
RUN yarn && yarn cache clean
COPY --chown=node:node src/ .
CMD []
是否有一个命令或选项我可以使用而不是复制,如果src/yarn.lock
文件不在文件系统上不会失败?
您可以尝试将yarn.lock作为yarn.lock*
与另一个文件一起添加,以便COPY不会失败。沿着这条线的东西应该做的伎俩:
FROM node:8.12.0-alpine
USER node
WORKDIR ${my_workdir}
COPY --chown=node:node src/package*.json src/yarn.lock* ./
RUN yarn && yarn cache clean
COPY --chown=node:node src/ .
CMD []
希望能帮助到你!