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

时间:2017-01-13 14:25:15

标签: docker

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

docker exec -it cc58908a8dc2 /bin/bash

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

unable to find user root: no matching entries in passwd file

我的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

有什么可能导致这种情况的想法吗?

3 个答案:

答案 0 :(得分:16)

有时,重新启动Docker容器后会显示该消息。

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

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

docker stop cc58908a8dc2
docker start cc58908a8dc2

然后错误就消失了。

答案 1 :(得分:1)

如果要解决此问题,请记住对https://forums.docker.com/t/unable-to-find-user-root-no-matching-entries-in-passwd-file/26545/9进行评论

使用知识库文章中的“反馈”按钮,该文章记录了遇到时如何重启Docker引擎:https://success.docker.com/article/ucp-health-checks-fail-unable-to-find-user-nobody-no-matching-entries-in-passwd-file-observed

似乎互联网上充斥着随机遇到此错误的其他人。

要了解您必须进行哪些更改,请查看http://status.openstack.org/elastic-recheck/index.html#1803544,它是OpenStack CI作业中发生的错误的图表,每天都会发生。

我知道任何软件都有错误,并且需要花费一些时间来修复,但是这个错误使我离开……。两年多来,Docker的唯一反馈是“ tracker privatly”和“ restart docker”。

答案 2 :(得分:1)

重新启动容器通常会有所帮助(请参阅@octavian答案)。如果没有选择,请尝试:

docker exec -it -u 0 cc58908a8dc2 / bin / bash

其中 cc58908a8dc2 是您的容器的名称