From da7cd82ab1a7c4134425dbdc91c98b9f0a69abc6 Mon Sep 17 00:00:00 2001 From: Antoine Eiche Date: Sat, 16 Feb 2019 00:40:34 +0100 Subject: dockerTools.buildImage: preserve layers ordering at image repacking This patch preserves the ordering of layers of a parent image when the new image is packed. It is currently not the case: layers are stacked in the reverse order. Fixes #55290 --- pkgs/build-support/docker/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs') diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 83ff846db7ab..f59900ab7596 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -776,7 +776,7 @@ rec { imageJson=$(cat ${baseJson} | jq ". + {\"rootfs\": {\"diff_ids\": [], \"type\": \"layers\"}}") manifestJson=$(jq -n "[{\"RepoTags\":[\"$imageName:$imageTag\"]}]") - for layerTar in $(cat ./layer-list); do + for layerTar in $(tac ./layer-list); do layerChecksum=$(sha256sum image/$layerTar | cut -d ' ' -f1) imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${baseJson})\"}] + .") imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .") -- cgit 1.4.1