如何抑制 Dockerfile 中 RUN 命令的输出?在下面的代码中,我尝试使用 echo 命令将 SSH_PRIVATE_KEY 重定向到文件。然而,在镜像构建过程中,Docker 日志会泄露 SSH 私钥,这是我想避免的。有没有办法让 Dockerfile 中的 RUN 命令静音,或者是否有其他解决方案来解决此问题?
RUN echo "${SSH_PRIVATE_KEY}" > /home/$USER/.ssh/id_ed25519
构建日志
=> CACHED [app 10/19] RUN echo "-----BEGIN OPENSSH PRIVATE KEY-----0s9 0.0s
一个简单的解决方法是首先将密钥放在文件中。
COPY privkey /home/$USER/.ssh/id_ed_25519
与
privkey
显然位于运行 docker build
等人的目录中的本地文件中。
您可以将标准输出和标准错误都重定向到
/dev/null
,例如:
RUN echo "${SSH_PRIVATE_KEY}" > /home/$USER/.ssh/id_ed25519 > /dev/null 2>&1