diff options
author | Graham Christensen <graham.christensen@target.com> | 2018-09-20 11:40:36 -0400 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2018-09-20 18:26:02 +0200 |
commit | a32d7e0c74465e685c997624b12d1582fda05fd9 (patch) | |
tree | 1bb5ddff773eb6018081132bbcf168df0f1028d5 /doc/functions.xml | |
parent | b0987f201337042af2a414549e1948e82d994290 (diff) |
dockerTools.buildImage: support impure dates
Because dates are an impurity, by default buildImage will use a static date of one second past the UNIX Epoch. This can be a bit frustrating when listing docker images in the CLI: $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE hello latest 08c791c7846e 48 years ago 25.2MB If you want to trade the purity for a better user experience, you can set created to now. pkgs.dockerTools.buildImage { name = "hello"; tag = "latest"; created = "now"; contents = pkgs.hello; config.Cmd = [ "/bin/hello" ]; } and now the Docker CLI will display a reasonable date and sort the images as expected: $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE hello latest de2bf4786de6 About a minute ago 25.2MB
Diffstat (limited to 'doc/functions.xml')
-rw-r--r-- | doc/functions.xml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/doc/functions.xml b/doc/functions.xml index 3cfc6884bd261..31b40fb084a33 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -638,6 +638,45 @@ buildImage { <literal>pkgs.cacert</literal> to <varname>contents</varname>. </para> </note> + + <example xml:id="example-pkgs-dockerTools-buildImage-creation-date"> + <title>Impurely Defining a Docker Layer's Creation Date</title> + <para> + Because dates are an impurity, by default + <function>buildImage</function> will use a static date of one + second past the UNIX Epoch. This can be a bit frustrating when + listing docker images in the CLI: + </para> + <screen><![CDATA[ +$ docker image list +REPOSITORY TAG IMAGE ID CREATED SIZE +hello latest 08c791c7846e 48 years ago 25.2MB +]]></screen> + <para> + If you want to trade the purity for a better user experience, + you can set <literal>created</literal> to + <literal>now</literal>. + </para> + <programlisting><![CDATA[ +pkgs.dockerTools.buildImage { + name = "hello"; + tag = "latest"; + created = "now"; + contents = pkgs.hello; + + config.Cmd = [ "/bin/hello" ]; +} +]]></programlisting> + <para> + and now the Docker CLI will display a reasonable date and + sort the images as expected: + </para> + <screen><![CDATA[ +$ docker image list +REPOSITORY TAG IMAGE ID CREATED SIZE +hello latest de2bf4786de6 About a minute ago 25.2MB +]]></screen> + </example> </section> <section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry"> |