如果您想在 Dockerfile 中实现非root用户启动容器内的jar包,可以按照以下步骤:
在 Dockerfile 中添加一个新的非root用户,比如 “myuser”:
RUN groupadd -r mygroup && useradd --no-log-init -r -g mygroup myuser
切换到新用户并设置工作目录:
USER myuser
WORKDIR /app
将jar包复制到容器中,并设置文件的所有者为新用户:
COPY myapp.jar /app
RUN chown myuser:mygroup /app/myapp.jar
在 Dockerfile 中添加ENTRYPOINT或CMD命令,以非root用户身份启动jar包:
CMD [“java”, “-jar”, “/app/myapp.jar”]
这将在容器内以 “myuser” 身份启动jar包。请注意,如果jar包需要访问特权端口或需要在容器内执行其他需要特权的操作,则可能需要使用root用户。