0

RUNa 中的指令的正确语法是什么Dockerfile,需要以exec形式安装一个秘密?

换句话说,如果 aDockerfile看起来像:

FROM node:fermium-alpine

# . . .

RUN --mount=type=secret,id=npmrc yarn build:production

# . . .

RUN上面的指令如何从shell形式转换为exec形式?这里的官方文档中似乎没有示例。

4

1 回答 1

0
FROM node:fermium-alpine


WORKDIR /usr/src/app

# . . .

RUN --mount=type=secret,id=npmrc,dst=/usr/src/app/.npmrc ["/usr/local/bin/yarn", \
                                                          "build:production"]

# . . .

注意

  • --mount标志位于其右侧的 JSON 数组之外
  • dst=. . .已添加到上面的标志中,以--mount确保它.npmrc不仅保存为点文件,而且保存在WORKDIRyarnbuild
  • RUN--mount= . . .,dst=. . .in exec形式的指令可能会很长;用于\在 a 中拆分长行Dockerfile(取自Dockerfile最佳实践here
  • 为了安全起见,由于此处未使用shell形式,因此可执行文件已替换为图像的绝对路径yarn/usr/local/bin/yarnnode:fermium-alpine
于 2021-04-30T21:41:18.913 回答