无法找到root用户:passwd文件中没有匹配的条目

oct*_*ian 4 docker

我有一个运行Docker容器,其中包含以下内容:

docker exec -it cc58908a8dc2 /bin/bash
Run Code Online (Sandbox Code Playgroud)

我之前在其他容器上运行此命令,它运行得很好.但是,现在我遇到了这个问题:

unable to find user root: no matching entries in passwd file
Run Code Online (Sandbox Code Playgroud)

Dockerfile的内容如下:

# We will be running our Spark jobs as `root` user.
USER root

# Working directory is set to the home folder of `root` user.
WORKDIR /root
Run Code Online (Sandbox Code Playgroud)

任何可能导致这种情况的想法?

oct*_*ian 18

有时,重新启动Docker容器后会出现该消息.

如果不是像这样重新启动: docker restart cc58908a8dc2

我停下来,像这样启动容器:

docker stop cc58908a8dc2
docker start cc58908a8dc2
Run Code Online (Sandbox Code Playgroud)

然后错误消失了.

  • 这应该被视为一种解决方法,我认为在生产中我们无论如何都无法重新启动实例 (3认同)
  • 当尝试在容器内执行某些操作时,我们有一些容器"passwd文件中没有匹配的条目"问题.使用-u UID它有效,使用-u USERNAME它不起作用.使用restart命令重新启动容器无法解决问题.容器停止然后启动容器确实解决了问题. (2认同)