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

Rid*_*del 2 datetime docker dockerfile

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

BMi*_*tch 7

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

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

RUN date >/build-date.txt
Run Code Online (Sandbox Code Playgroud)

在入口点脚本中:

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

  • @tkarls 是的,所以它应该在“Dockerfile 末尾”执行。如果之前的所有行都被缓存,则图像不会更改,并且构建的结果与您之前已有的图像相同。如果前一行未被缓存,则最后一个 RUN 命令也不会被缓存。 (2认同)