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

时间:2018-08-06 08:57:58

标签: datetime docker dockerfile

我想构建一个在其启动日志中显示其构建日期时间的容器。有没有办法将信息从我的构建机器注入到容器中?

2 个答案:

答案 0 :(得分:5)

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

在代码中,您将在Dockerfile的末尾:

RUN date >/build-date.txt

在入口点脚本中:

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

答案 1 :(得分:0)

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

如果您在Dockerfile中有一个重要的构建步骤(正在编译Go应用程序),或者如果您尝试嵌入的元数据更难以以编程方式生成(源代码控制版本标记,运行构建命令的人员的名称。