Docker Изображение Timestamp Issue - PullRequest
2 голосов
/ 06 января 2020

Я создал новое изображение, но оно показывает 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 build tool, и Плагин 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
}

enter image description here

1 Ответ

4 голосов
/ 07 января 2020

Это от Google Jib. Для воспроизводимости они не устанавливают дату, или они явно устанавливают дату в нулевое значение, то есть эпоху 1970 года.

Для этого есть запись FAQ: https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#why -is -my-image-create-48-years-a go

В целях воспроизводимости Jib устанавливает время создания изображений контейнера в эпоху Unix (00:00 00 января 1 января 1970 года в UT C). Если вы хотите использовать другую временную метку, установите для параметра jib.container.creationTime / <container><creationTime> значение даты-времени ISO 8601. Вы также можете использовать значение USE_CURRENT_TIMESTAMP, чтобы установить время создания на фактическое время сборки, но это жертвует воспроизводимостью, поскольку временная метка будет меняться при каждой сборке.

Установка creationTime параметр

Maven:

<configuration>
  <container>
    <creationTime>2019-07-15T10:15:30+09:00</creationTime>
  </container>
</configuration>

Gradle:

jib.container.creationTime = '2019-07-15T10:15:30+09:00'
...