linux – 无法在docker Alpine中添加具有高UID的用户

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

问题是我面临adduser:数字1340816314不在0..256000范围内,即使我按照adduser man page在/etc/login.defs中重新定义了UID_MAX的值.我不认为它有它的方式在Alpine is from BusyBox中作为adduser命令的任何影响.

这是我尝试做的日志:

$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 https://*.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
上一篇:在Alpine Linux上安装snappy在python上的问题


下一篇:Docker安装RabbitMQ