无法在Docker Alpine中添加具有较高UID的用户

我正尝试在Alpine Linux Docker容器中创build一个UID 1340816314的新用户,以使用户具有与主机上特定用户相匹配的UID

问题是,我正面临着adduser: number 1340816314 is not in 0..256000 range即使我通过以下adduser手册页重新定义了/etc/login.defsUID_MAX的值, adduser: number 1340816314 is not in 0..256000 range内。 我不认为它有什么影响,因为Alpine的adduser命令是来自BusyBox 。

以下是我尝试做的日志:

 $ docker run -it --rm alpine:3.4 sh / # adduser -D -g '' -u 1340816314 user adduser: number 1340816314 is not in 0..256000 range / # echo "UID_MAX 1340816314" > /etc/login.defs / # adduser -D -g '' -u 1340816314 user adduser: number 1340816314 is not in 0..256000 range / # echo "UID_MAX 1340816315" > /etc/login.defs / # adduser -D -g '' -u 1340816314 user adduser: number 1340816314 is not in 0..256000 range 

你知道如何在Docker容器中的Alpine Linux中添加一个大UID的用户吗?

这里是一个工作,但肮脏的解决方法,通过手动创建用户,使用$UID_TO_SET作为包含高UID设置的bash变量:

 # Create user echo "user:x:$UID_TO_SET:$UID_TO_SET::/home/user:" >> /etc/passwd ## thanks for http://stackoverflow.com/a/1094354/535203 to compute the creation date echo "user:!:$(($(date +%s) / 60 / 60 / 24)):0:99999:7:::" >> /etc/shadow echo "user:x:$UID_TO_SET:" >> /etc/group mkdir /home/user && chown user: /home/user