Merge pull request #281520 from WxNzEMof/docker-tools-chown

dockerTools: Fix chown in fakeRootCommands
This commit is contained in:
Robert Hensing 2024-02-19 09:01:05 +01:00 committed by GitHub
commit 2104e113a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -46,6 +46,18 @@ let
echo 'runAsRoot has run.'
'';
};
chownTestImage =
pkgs.dockerTools.streamLayeredImage {
name = "chown-test";
tag = "latest";
enableFakechroot = true;
fakeRootCommands = ''
touch /testfile
chown 12345:12345 /testfile
'';
config.Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "/testfile" ];
};
in {
name = "docker-tools";
meta = with pkgs.lib.maintainers; {
@ -565,5 +577,11 @@ in {
"${examples.nix-shell-build-derivation} | docker load",
"docker run --rm -it nix-shell-build-derivation"
)
with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"):
docker.succeed(
"${chownTestImage} | docker load",
"docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)"
)
'';
})