From 5ef1223f30f9233ecbaaf75cbd993602570eea64 Mon Sep 17 00:00:00 2001 From: Antoine Eiche Date: Tue, 30 Apr 2019 00:46:00 +0200 Subject: nixos/tests/docker-tools: verify order of layers in stacked images --- pkgs/build-support/docker/examples.nix | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'pkgs/build-support/docker/examples.nix') diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index 557a4dbf54b..ac21be907b8 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -187,4 +187,43 @@ rec { runAsRoot = "touch /example-file"; fromImage = bash; }; + + # 13. example of 3 layers images This image is used to verify the + # order of layers is correct. + # It allows to validate + # - the layer of parent are below + # - the order of parent layer is preserved at image build time + # (this is why there are 3 images) + layersOrder = let + l1 = pkgs.dockerTools.buildImage { + name = "l1"; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer1 > tmp/layer1 + echo layer1 > tmp/layer2 + echo layer1 > tmp/layer3 + ''; + }; + l2 = pkgs.dockerTools.buildImage { + name = "l2"; + fromImage = l1; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer2 > tmp/layer2 + echo layer2 > tmp/layer3 + ''; + }; + in pkgs.dockerTools.buildImage { + name = "l3"; + fromImage = l2; + tag = "latest"; + contents = [ pkgs.coreutils ]; + extraCommands = '' + mkdir -p tmp + echo layer3 > tmp/layer3 + ''; + }; + } -- cgit 1.4.1