Users in Docker
Add user and group in Docker
Difference between “adduser” and “useradd”
"useradd" is native binary compiled with the system "adduser" is a perl script which uses useradd binary in back-end. It is more user-friendly and interactive compared to back-end useradd. With "adduser" the system level users account when created puts a user directory in home for the system user where "useradd" does not.
For non-root users ids above 999 should be used.
Different distributions (and their flavours) might have different options:
Debian
debian info (also Ubuntu info, etc.)
-g or --gid
groupadd --gid GID <groupname>
-g or --gid; -u or --uid
useradd --gid GID --uid UID <username>
only --gid
addgroup --gid GID <groupname>
only --uid and --gid
adduser --gid GID --uid UID <username>
Alpine
Alpine info, groupadd and useradd are not available
-g or --gid
addgroup -g GID <groupname>
only -g; -u or --uid
adduser -g GID -u UID <username>
Archlinux
Archlinux info - more info..., addgroup and adduser are not available
-g or --gid
groupadd --gid GID groupname
-g or --gid; -u or --uid
useradd --gid GID --uid UID username