3

我正在尝试构建一个 docker 映像,该映像在构建时可以选择添加一个纱线(或 npm 锁定文件)。我想明确添加它,但如果不包含它,也不会使构建失败。

如果托管应用程序使用确定性构建过程,目的是尊重它,而不是强制它。我还想让应用程序使用这个容器将自己引导到确定性构建中。

这是我开始的内容:

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如果文件不在文件系统上,是否有我可以使用的命令或选项来代替不会失败的复制?

4

1 回答 1

2

您可以尝试将 yarn.lockyarn.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 []

希望能帮助到你!

于 2019-03-21T21:52:03.333 回答