由于您已经是 root,因此在 Dockfile 中运行 USER root 是否是多余的?

新手上路,请多包涵

看看 这个 Dockerfile ,它的星号是:

 FROM sequenceiq/pam:centos-6.5
MAINTAINER SequenceIQ

USER root

现在这似乎是多余的,因为默认情况下你已经是 root 。但是为了争论 - 让我们看看 父 Dockerfile ….它不会改变用户。

现在让我们看看祖父 Dockerfile。 (它似乎不可用)。

我的问题是: 因为您已经是 root,所以在 Dockfile 中运行 USER root 是否是多余的?

原文由 hawkeye 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 342
2 个回答

是的,它是多余的,但保留这种冗余几乎没有任何不利之处。这可能是为了针对其他图像进行开发,或者支持可能换出基本图像的用途。如果上游图像改变了它的行为,可以这样做以防止将来出现问题。或者他们可能只是想明确一点,所以很明显这个容器需要以 root 身份运行命令。

原文由 BMitch 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果图像是从将 root 更改为用户的源生成的,则您可能无法访问其中的所有资源。但是,如果您加载图像:

FROM xxxxxx/xxxxxx:最新

用户根

这将为您提供对图像资源的 root 访问权限。我只是在被拒绝访问不属于我的现有图像中更改 /etc/apt/sources.list 后才使用它。它工作得很好,让我改变 sources.list

原文由 user3815645 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进