基于Eclipse Temurin 17-jre镜像在Docker中添加用户失败求助
解决Eclipse Temurin 17-jre镜像中添加用户失败的问题
问题原因
错误码127表示adduser命令不存在,这是因为最新推送的eclipse-temurin:17-jre镜像可能切换了基础操作系统(比如从Debian/Ubuntu换成了Alpine,或者使用了更精简的变体),原有的adduser命令参数或存在性发生了变化。
解决方案
方案1:适配Alpine系统的adduser命令
如果新镜像基于Alpine Linux,使用Alpine兼容的参数:
RUN adduser -D -u 1000 spring-boot
-D参数等价于Debian系的--disabled-login,用于禁用用户登录权限。
方案2:使用通用的useradd命令
useradd是Linux标准命令,几乎所有发行版都支持,兼容性更强:
RUN useradd -m -u 1000 -s /sbin/nologin spring-boot
-m:自动创建用户家目录-u 1000:指定用户UID-s /sbin/nologin:设置登录shell为无,禁用登录权限
方案3:锁定镜像版本避免意外更新
建议不要使用latest标签,指定具体的镜像变体(如Ubuntu或Alpine版),防止后续镜像更新再次引发问题:
# 使用Ubuntu基础的镜像 FROM eclipse-temurin:17-jre-focal # 或使用Alpine基础的镜像 # FROM eclipse-temurin:17-jre-alpine
内容的提问来源于stack exchange,提问作者Vivek Buddhadev
相关产品推荐
相关产品推荐

