如何在容器中注入Docker容器构建时间戳



我想构建一个容器,它会在启动日志中显示其构建日期时间。有没有一种方法可以将我的构建机器中的信息注入到容器中?

构建过程中每个RUN步骤的输出都是对文件系统的更改。因此,您可以将日期输出到图像中的文件中。容器中的日志只是您运行的命令的stdout。这样你就可以在入口点内找出日期了。

在代码中,Dockerfile的末尾会有:

RUN date >/build-date.txt

在入口点脚本中:

#!/bin/sh
#.... Initialization steps
echo Image built: $(cat /build-date.txt)
#.... More initialization steps
# run the command
exec "$@"

您可以使用ARG在构建时传入当前构建时间戳。你必须docker build --build-arg build-date=$(date)或类似的东西。完成此操作后,您可以在构建时使用类似于shell变量语法的方法来引用该参数。

如果你的Dockerfile中有一个重要的构建步骤(你正在编译Go应用程序(,或者你试图嵌入的元数据更难通过编程生成(源代码管理版本戳,运行构建命令的人的名字(,这可能更有用。

最新更新