【问题标题】:Non-root user in DockerDocker 中的非 root 用户
【发布时间】:2017-07-03 11:10:12
【问题描述】:

我有一个基本的 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 中创建用户并在容器交互运行时让该用户成为默认用户?

【问题讨论】:

标签: docker dockerfile


【解决方案1】:

USER 指令前添加RUN useradd -s /bin/bash user

【讨论】:

  • 这行得通,完全符合我的要求,谢谢!
  • 这仅在 Linux 上吗?还是在 Windows 中也一样?
  • 抱歉,我不了解 Windows。
  • @variable 在 Windows 上,您可以按照docs.docker.com/engine/reference/builder/#user 的说明进行操作,即net user /add my_user
猜你喜欢
  • 2023-03-03
  • 2019-04-22
  • 2018-07-06
  • 2014-08-24
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2018-01-13
  • 2020-07-01
相关资源
最近更新 更多