0
点赞
收藏
分享

微信扫一扫

Dockerfile: unable to find user xxx : no matching entries in passwd file解决方案

Gaaidou 2022-02-18 阅读 146

报错信息

在制作Docker镜像的过程中,完成软件安装等操作后,一般会切换为普通用户启动相应的服务,就需要用到USER指令。但有时候这个指令会报错:

解决方案

如果遇到这个问题,可以在使用USER指令之前,先创建用户。

网上有很多其他的方案,其中一个是使用USER ID代替用户名,的确可以成功,但是进入容器后,会是普通用户权限,很多操作都执行不了,如果容器是用来开发和调试的,就不太方便了。

相关知识

Docker官方文档中关于USER指令的说明。

USER <user>[:<group>]

或者

USER <UID>[:<GID>]

The USER instruction sets the user name (or UID) and optionally the user group (or GID) to use when running the image and for any RUN, CMD and ENTRYPOINT instructions that follow it in the Dockerfile.

“USER”指令设置运行映像时要使用的用户名(或UID)和可选的用户组(或GID),“Dockerfile”中紧随其后的任何“RUN”、“CMD”和“ENTRYPOINT”指令都将用该用户执行。

需要注意

在容器中创建Windows用户的方法

RUN net user /add Patrick

举报

相关推荐

0 条评论