mirror of
https://github.com/hadolint/hadolint.git
synced 2025-12-17 03:24:08 +00:00
Page:
DL3046
Pages
DL3000
DL3001
DL3002
DL3003
DL3004
DL3005
DL3006
DL3007
DL3008
DL3009
DL3010
DL3011
DL3012
DL3013
DL3014
DL3015
DL3016
DL3017
DL3018
DL3019
DL3020
DL3021
DL3022
DL3023
DL3024
DL3025
DL3026
DL3027
DL3028
DL3029
DL3030
DL3031
DL3032
DL3033
DL3034
DL3035
DL3036
DL3037
DL3038
DL3039
DL3040
DL3041
DL3042
DL3043
DL3044
DL3045
DL3046
DL3047
DL3048
DL3049
DL3050
DL3051
DL3052
DL3053
DL3054
DL3055
DL3056
DL3057
DL3058
DL3059
DL3060
DL3061
DL3062
DL4000
DL4001
DL4003
DL4004
DL4005
DL4006
Home
SC2046
SC2086
Template
No results
1
DL3046
Moritz Röhrich edited this page 2022-05-09 19:15:34 +02:00
useradd without flag -l and high UID will result in excessively large Image
Problematic code:
RUN useradd -u 123456 foobar
Correct code:
RUN useradd -l -u 123456 foobar
Rationale:
Without the -l or the --no-log-init flag, useradd will add the user to the lastlog and faillog databases. This can result in the creation of logically large (sparse) files under /var/log, which in turn unnecessarily inflates container image sizes. This is due to the lack of support for sparse files in overlay filesystems. For what it's worth, this behavior becomes more apparent with longer UIDs, resulting in a few megabytes of extra image size with a six digit UID, up to several gigabytes of excessive image size with even longer UIDs.
Disabling this functionality from useradd has minimal disadvantages in a container but saves space and build time.