diff --git a/doc/functions/dockertools.xml b/doc/functions/dockertools.xml
index 3e5b76756e2..e2ea2f7b976 100644
--- a/doc/functions/dockertools.xml
+++ b/doc/functions/dockertools.xml
@@ -312,7 +312,10 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
Maximum number of layers to create.
- Default: 24
+ Default: 100
+
+
+ Maximum: 125
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index ae3d93ff3db..83e21c8945d 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -291,9 +291,10 @@ rec {
# Files to add to the layer.
closure,
configJson,
- # Docker has a 42-layer maximum, we pick 24 to ensure there is plenty
- # of room for extension
- maxLayers ? 24
+ # Docker has a 125-layer maximum, we pick 100 to ensure there is
+ # plenty of room for extension.
+ # https://github.com/moby/moby/blob/b3e9f7b13b0f0c414fa6253e1f17a86b2cff68b5/layer/layer_store.go#L23-L26
+ maxLayers ? 100
}:
let
storePathToLayer = substituteAll