当前位置: 首页 > 知识库问答 >
问题:

Docker中的非root用户

左丘积厚
2023-03-14

我有一个基本的Dockerfile:

FROM ubuntu:xenial
USER test
ENTRYPOINT ["/bin/bash"]

对于这个Dockerfile,我希望能够创建一个没有密码的用户,并且在运行Docker容器时,我希望使用该用户而不是root。当我尝试运行容器时,docker run-it test: 1,我得到这个错误:

docker: Error response from daemon: linux spec user: unable to find user test: no matching entries in passwd file.

容器以交互方式运行时,如何在Dockerfile中创建用户并使该用户成为默认用户?

共有1个答案

许涵容
2023-03-14

用户指令之前添加并运行useradd-s/bin/bash user。

 类似资料:
  • docker 17.09.0-CE版本 docker-compose版本1.8.0

  • 本文向大家介绍以非root用户身份运行Docker容器,包括了以非root用户身份运行Docker容器的使用技巧和注意事项,需要的朋友参考一下 当您在Docker容器中运行应用程序时,默认情况下,它有权访问所有root特权。您可能已经注意到,当打开Ubuntu Docker Container Bash时,默认情况下您以root用户身份登录。在应用程序的安全性方面,这可能是一个主要问题。任何局外人

  • 问题内容: 在构建Docker映像时,如何将文件添加到映像中,以便生成的文件由root以外的用户拥有? 问题答案: 对于v17.09.0-ce及更高版本 将可选标志与或命令一起使用。 例如 --chown标志的文档现在位于Dockerfile参考主页面上。 版本 34263 已被合并,可以在v17.09.0-ce版本中使用。 对于v17.09.0-ce之前的版本 Docker不以root用户身份支

  • 问题内容: 我正在尝试将用户切换到tomcat7用户,以设置SSH证书。 当我这样做时,什么也没发生。 做完后还是发根 这样做,我得到以下结果,清楚地表明存在tomcat7用户: 我正在尝试解决的是哈德森中的此错误: 这是我的Dockerfile,它需要一个已存在的hudson war文件和配置,并构建一个映像,hudson运行良好,由于用户tomcat7不存在证书而无法访问git。 我正在使用最

  • 问题内容: 运行时默认 要么 您以root用户身份连接到终端,但是我想以其他用户身份连接。这可能吗? 问题答案: 对于: 在启动Docker容器时,只需添加选项即可更改为其他用户。 对于或: 由于该命令用于附加/执行到现有进程中,因此它直接在此使用当前用户。 如果您确实想附加到想要拥有的用户,那么 从该用户开始或在您的使用中提及它 使用`su更改用户

  • 我正在使用Docker运行ELK stack,用于当前配置的ES 1.7、Logstash 1.5.4和Kibana 4.1.4的日志管理。现在,我正在尝试将Elasticsearch升级到2.4.0,在https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch