From ad36345fde0913a098b64d0c628f562134d1675b Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 24 Dec 2018 08:42:40 -0500 Subject: Add troubleshooting for sparse files A common failure with people building container images is the creation of large sparse files, particularly useradd creating the lastlog file. This PR Documents the failures. Signed-off-by: Daniel J Walsh --- docs/podman-build.1.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/podman-build.1.md b/docs/podman-build.1.md index f887d68cd..76e16b42c 100644 --- a/docs/podman-build.1.md +++ b/docs/podman-build.1.md @@ -614,8 +614,16 @@ $ podman build -f dev/Dockerfile https://10.10.10.1/podman/context.tar.gz registries.conf is the configuration file which specifies which container registries should be consulted when completing image names which do not include a registry or domain portion. +## Troubleshooting + +If you are using a useradd command within a Dockerfile with a large UID/GID, it will create a large sparse file `/var/log/lastlog`. This can cause the build to hang forever. Go language does not support sparse files correctly, which can lead to some huge files being created in your container image. + +### Solution + +If you are using `useradd` within your build script, you should pass the `--no-log-init or -l` option to the `useradd` command. This option tells useradd to stop creating the lastlog file. + ## SEE ALSO -podman(1), buildah(1), containers-registries.conf(5) +podman(1), buildah(1), containers-registries.conf(5), useradd(8) ## HISTORY May 2018, Minor revisions added by Joe Doss -- cgit v1.2.3-54-g00ecf