diff --git a/jib-core/src/main/java/com/google/cloud/tools/jib/image/json/ContainerConfigurationTemplate.java b/jib-core/src/main/java/com/google/cloud/tools/jib/image/json/ContainerConfigurationTemplate.java index 27a138a7fb..2dff5c0b05 100644 --- a/jib-core/src/main/java/com/google/cloud/tools/jib/image/json/ContainerConfigurationTemplate.java +++ b/jib-core/src/main/java/com/google/cloud/tools/jib/image/json/ContainerConfigurationTemplate.java @@ -31,6 +31,7 @@ * *
{@code
  * {
+ *   "created": "1970-01-01T00:00:00Z",
  *   "architecture": "amd64",
  *   "os": "linux",
  *   "config": {
@@ -54,6 +55,15 @@
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class ContainerConfigurationTemplate implements JsonTemplate {
 
+  /**
+   * A combined date and time at which the image was created. Constant to maintain reproducibility
+   * and avoid Docker's weird "292 years old" bug.
+   *
+   * @see https://github.com/GoogleContainerTools/jib/issues/341
+   */
+  private String created = "1970-01-01T00:00:00Z";
+
   /** The CPU architecture to run the binaries in this container. */
   private String architecture = "amd64";
 
diff --git a/jib-core/src/test/resources/json/containerconfig.json b/jib-core/src/test/resources/json/containerconfig.json
index f21ed642cd..46865a35dd 100644
--- a/jib-core/src/test/resources/json/containerconfig.json
+++ b/jib-core/src/test/resources/json/containerconfig.json
@@ -1 +1 @@
-{"architecture":"amd64","os":"linux","config":{"Env":["VAR1=VAL1","VAR2=VAL2"],"Entrypoint":["some","entrypoint","command"],"Cmd":["arg1","arg2"]},"rootfs":{"type":"layers","diff_ids":["sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad"]}}
\ No newline at end of file
+{"created":"1970-01-01T00:00:00Z","architecture":"amd64","os":"linux","config":{"Env":["VAR1=VAL1","VAR2=VAL2"],"Entrypoint":["some","entrypoint","command"],"Cmd":["arg1","arg2"]},"rootfs":{"type":"layers","diff_ids":["sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad"]}}
\ No newline at end of file
diff --git a/jib-core/src/test/resources/json/translated_ocimanifest.json b/jib-core/src/test/resources/json/translated_ocimanifest.json
index 05f50bdc5e..3fa9663038 100644
--- a/jib-core/src/test/resources/json/translated_ocimanifest.json
+++ b/jib-core/src/test/resources/json/translated_ocimanifest.json
@@ -1 +1 @@
-{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","digest":"sha256:8dc8239b611f1c96474b3be000c3fa6badbb8504b4328697321b8f25ef364b1b","size":261},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","digest":"sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad","size":1000}]}
\ No newline at end of file
+{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","digest":"sha256:e5260ce6926191331709d45da3467888a59585aa2c88689fb6a7565cedac718c","size":294},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","digest":"sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad","size":1000}]}
\ No newline at end of file
diff --git a/jib-core/src/test/resources/json/translated_v22manifest.json b/jib-core/src/test/resources/json/translated_v22manifest.json
index 2eb4470dc6..bca5af3a92 100644
--- a/jib-core/src/test/resources/json/translated_v22manifest.json
+++ b/jib-core/src/test/resources/json/translated_v22manifest.json
@@ -1 +1 @@
-{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","digest":"sha256:8dc8239b611f1c96474b3be000c3fa6badbb8504b4328697321b8f25ef364b1b","size":261},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad","size":1000}]}
\ No newline at end of file
+{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","digest":"sha256:e5260ce6926191331709d45da3467888a59585aa2c88689fb6a7565cedac718c","size":294},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:8c662931926fa990b41da3c9f42663a537ccd498130030f9149173a0493832ad","size":1000}]}
\ No newline at end of file