9

I'm trying to build and run the image with a non-root user and keep getting the error: "unable to find user test: no matching entries in passwd file."

Here's what my Docker file looks like:

FROM openjdk:11-jre-slim

RUN addgroup --system test
RUN adduser --system testuser --ingroup test

USER test:testuser

COPY build/libs/abc-0.0.1.jar app.jar

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

I already tried searching for the error and looked at other places but none seems to work for me. Could someone help me out here? I know I can run it with the root user but I don't want to or if there's another Openjdk11 image that I could use to make it work then that's also fine.

Laurel
  • 5,965
  • 14
  • 31
  • 57
zhaider
  • 595
  • 2
  • 9
  • 26

1 Answers1

4

The issue is with the line USER test:testuser

You are creating a usergroup called test and a user called testuser but in your USER statement in the Dockerfile you specify test:testuser, which is not the correct order. It must be like USER testuser:test

USER user:group

or

USER UID:GID

See the Dockerfile reference here.

theUndying
  • 1,526
  • 3
  • 11