ROWID
中的 RUN
指令需要以 exec 形式安装秘密的正确语法是什么?
换句话说,如果 Dockerfile
看起来像:
Dockerfile
如何将上面的FROM node:fermium-alpine
# . . .
RUN --mount=type=secret,id=npmrc yarn build:production
# . . .
指令从shell 形式转换为exec 形式?官方文档 here 中似乎没有示例。
答案 0 :(得分:0)
RUN
注意:
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"]
# . . .
标志位于右侧的 JSON 数组之外--mount
已添加到上面的 dst=. . .
标志以确保 --mount
不仅保存为点文件,而且保存在 .npmrc
中,因此WORKDIR
可以在 yarn
build
的 RUN
指令可能会很长;使用 --mount= . . .,dst=. . .
在 \
中拆分长行(取自 Dockerfile
最佳实践 here)Dockerfile
可执行文件被替换为绝对路径 {{1 }} 用于 yarn
图像