diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2024-04-08 09:24:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-08 09:24:18 +0200 |
commit | c740c98fc17401d49fbd9bae474d0919f212ea0a (patch) | |
tree | e61d5c61c54db2aee3fb3fb076401422d0b7a29b /pkgs/build-support | |
parent | 00f9ac91e9420fbddd2c0a8c51be2a216c47cfd8 (diff) | |
parent | f4871a62d2dcf5e580dcd565a10ebb1ff14b3c9b (diff) |
Merge pull request #292760 from PigeonF/dockertools-build-layered-compressor
dockerTools: Fix changing compression method for `buildLayeredImage`
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/docker/default.nix | 4 | ||||
-rw-r--r-- | pkgs/build-support/docker/examples.nix | 18 |
2 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 86bd7e312cbd3..1d1989d27fbb2 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -517,7 +517,7 @@ rec { buildLayeredImage = lib.makeOverridable ({ name, compressor ? "gz", ... }@args: let - stream = streamLayeredImage args; + stream = streamLayeredImage (builtins.removeAttrs args ["compressor"]); compress = compressorForImage compressor name; in runCommand "${baseNameOf name}.tar${compress.ext}" @@ -1287,7 +1287,7 @@ rec { # Wrapper around streamNixShellImage to build an image from the result buildNixShellImage = { drv, compressor ? "gz", ... }@args: let - stream = streamNixShellImage args; + stream = streamNixShellImage (builtins.removeAttrs args ["compressor"]); compress = compressorForImage compressor drv.name; in runCommand "${drv.name}-env.tar${compress.ext}" diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index 72c1cbe0d4106..52706ef6b21ff 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -509,7 +509,23 @@ rec { contents = pkgs.bashInteractive; }; - # buildImage without explicit tag + # buildLayeredImage without compression + bashLayeredUncompressed = pkgs.dockerTools.buildLayeredImage { + name = "bash-layered-uncompressed"; + tag = "latest"; + compressor = "none"; + contents = pkgs.bashInteractive; + }; + + # buildLayeredImage with zstd compression + bashLayeredZstdCompressed = pkgs.dockerTools.buildLayeredImage { + name = "bash-layered-zstd"; + tag = "latest"; + compressor = "zstd"; + contents = pkgs.bashInteractive; + }; + + # streamLayeredImage without explicit tag bashNoTagStreamLayered = pkgs.dockerTools.streamLayeredImage { name = "bash-no-tag-stream-layered"; contents = pkgs.bashInteractive; |