Docker 无法找到用户:OpenJdk11 的密码文件中没有匹配的条目
Docker Unable to find user: no matching entries in passwd file for OpenJdk11
我正在尝试使用非 root 用户构建和 运行 图像并不断收到错误消息:“无法找到用户测试:密码文件中没有匹配的条目。”
这是我的 Docker 文件的样子:
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"]
我已经尝试搜索错误并查看了其他地方,但 none 似乎对我有用。有人可以帮我吗?我知道我可以 运行 与 root 用户一起使用,但我不想这样做,或者如果有另一个 Openjdk11 图像我可以用来让它工作,那也没关系。
问题出在行 USER test:testuser
您正在创建一个名为 test
的用户组和一个名为 testuser
的用户,但是在 Dockerfile 的 USER
语句中您指定了 test:testuser
,这是不正确的命令。它必须像 USER testuser:test
USER user:group
or
USER UID:GID
参见 Dockerfile 参考 here。
我正在尝试使用非 root 用户构建和 运行 图像并不断收到错误消息:“无法找到用户测试:密码文件中没有匹配的条目。”
这是我的 Docker 文件的样子:
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"]
我已经尝试搜索错误并查看了其他地方,但 none 似乎对我有用。有人可以帮我吗?我知道我可以 运行 与 root 用户一起使用,但我不想这样做,或者如果有另一个 Openjdk11 图像我可以用来让它工作,那也没关系。
问题出在行 USER test:testuser
您正在创建一个名为 test
的用户组和一个名为 testuser
的用户,但是在 Dockerfile 的 USER
语句中您指定了 test:testuser
,这是不正确的命令。它必须像 USER testuser:test
USER user:group
or
USER UID:GID
参见 Dockerfile 参考 here。