微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果构建失败,如何将日志文件从构建容器复制到主机?

如何解决如果构建失败,如何将日志文件从构建容器复制到主机?

如何在从 docker build 下的命令运行 Dockerfile 时将一些日志文件从容器复制到主机?一旦构建失败,构建容器就会消失。

一种方法是在每个 RUN 命令吞下非零退出代码后,将日志输出到 STDOUT,然后重新推送原始退出代码。但它似乎没有扩展,就像如果我们想复制整个目录,我们不会压缩并将其输出到控制台:P

是否有任何可能的解决方案?也许将文件从主机连接到容器或在构建过程中挂载目录?

解决方法

如果您将日志推送到标准输出,您可以使用以下命令获取日志:

LOG_PATH=$(docker inspect --format='{{.LogPath}}' <the-name-of-your-docker>)
echo ================= Docker log start ===========================
sudo cat $LOG_PATH
echo ================= Docker log end =============================
,

如果您希望在容器退出后保留容器数据(例如日志、数据库或其他内容),那么您应该将本地驱动器/文件夹安装到容器中,并将您需要的任何内容写入安装位置。 在您的情况下,将本地文件夹(在主机上)装入容器并将构建日志写入该文件夹。

另请参阅此问题的答案以了解更多选项Docker: Copying files from Docker container to host

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。