dockerTools: remove tarballs functionality
I think the intention of this functionality was to provide a simple alternative to the "runAsRoot" and "contents" attributes. The implementation caused very slow builds of Docker images. Almost all of the build time was spent in IO for tar, due to tarballs being created, immediately extracted, then recreated. I had 30 minute builds on some of my images which are now down to less than 2 minutes. A couple of other users on #nix IRC have observed similar improvements. The implementation also mutated the produced Docker layers without changing their hashes. Using non-empty tarballs would produce images which got cached incorrectly in Docker. I have a commit which just fixes the performance problem but I opted to completely remove the tarball feature after I found out that it didn't correctly implement the Docker Image Specification due to the broken hashing.
parent
3ef785ea
Please register or sign in to comment