抑制 Dockerfile 中 RUN 命令的输出

问题描述 投票:0回答:2

如何抑制 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
linux docker docker-compose dockerfile echo
2个回答
0
投票

一个简单的解决方法是首先将密钥放在文件中。

COPY privkey /home/$USER/.ssh/id_ed_25519

privkey
显然位于运行
docker build
等人的目录中的本地文件中。


-1
投票

您可以将标准输出和标准错误都重定向到

/dev/null
,例如:

RUN echo "${SSH_PRIVATE_KEY}" > /home/$USER/.ssh/id_ed25519 > /dev/null 2>&1
© www.soinside.com 2019 - 2024. All rights reserved.