You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于eclipse-temurin:17-focal镜像添加非root用户失败求助

解决eclipse-temurin:17-focal镜像中创建非root用户失败的问题

问题出在你使用的命令适配的是Alpine Linux环境,而eclipse-temurin:17-focal基于Ubuntu,GNU版本的adduser/addgroup命令参数和Alpine的BusyBox版本不同,导致执行报错。

正确的Dockerfile写法

将创建用户的命令替换为Ubuntu兼容的版本:

FROM eclipse-temurin:17-focal
WORKDIR /app
COPY target/*.jar app.jar
EXPOSE 8080

# 创建系统组和适配Ubuntu的系统用户
RUN addgroup --system demo && adduser --system --ingroup demo demo
USER demo

ENTRYPOINT ["java","-jar","/app.jar"]

关键说明

  • --system:创建系统级别的组和用户,这类用户的UID/GID低于1000,没有登录权限,更适合容器内的服务进程使用
  • --ingroup:明确指定用户所属的组,避免创建额外的同名组

可选优化(如果需要写入权限)

如果你的应用需要向/app目录写入文件,需要提前调整目录权限,在创建用户后添加权限修改命令:

RUN addgroup --system demo && adduser --system --ingroup demo demo \
    && chown -R demo:demo /app

内容的提问来源于stack exchange,提问作者user1555190

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:09:57