我创建了一个崭新的图像,但显示为50 years ago timestamp
,请参见附件。知道为什么吗?
我在Dockerfile中使用了以下步骤
FROM openjdk:11
VOLUME /tmp
COPY build/libs /app
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/test-service.jar"]
而且我的docker版本是
Docker version 19.03.5, build 633a0ea
Gradle 6.0.1构建工具和Google Jib插件来创建图像
plugins {
id 'com.google.cloud.tools.jib' version '1.8.0'
}
jib {
from {
image = 'openjdk:11'
}
to {
image = 'test-service'
}
container {
jvmFlags = ['-Xms512m', '-Xdebug']
mainClass = 'com.sample.Application'
}
allowInsecureRegistries=true
}
来自Google Jib。为了重现性,他们没有设置日期,或者将日期明确设置为零值,这是1970年的时期。
这里有一个常见问题解答条目:https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#why-is-my-image-created-48-years-ago
出于再现目的,Jib设置了容器映像到Unix时代(1970年1月1日,00:00:00,位于世界标准时间)。如果您想使用其他时间戳记,请设置
jib.container.creationTime / <container><creationTime>
参数ISO 8601日期时间。您也可以使用值USE_CURRENT_TIMESTAMP
将创建时间设置为实际的构建时间,但这会牺牲可重复性,因为时间戳会随每次构建而变化。设置
creationTime
参数行家:
<configuration> <container> <creationTime>2019-07-15T10:15:30+09:00</creationTime> </container> </configuration>
等级:
jib.container.creationTime = '2019-07-15T10:15:30+09:00'