【问题标题】:How do I set the user to be non-root in the Dockerfile (Using base centos image)如何在 Dockerfile 中将用户设置为非 root 用户(使用基本 centos 映像)
【发布时间】:2018-01-22 17:03:20
【问题描述】:

我的 Dockerfile 的一部分使用了命令USER=root。要换回的默认用户的名称是什么?还是我必须指定一个?

【问题讨论】:

  • 您能否为您的问题添加更多细节?您正在使用的 Dockerfile / 图像的内容等...

标签: docker dockerfile


【解决方案1】:

docker 镜像的默认用户是 root。也就是说,如果您不使用USER 命令指定用户,则指令将以root 身份执行。

如果您在基础镜像上构建,您需要检查该镜像的 dockerfile 以检查是否已经创建了自定义用户并切换到该镜像。或者,您可以通过运行 RUN cat /etc/passwd 来检查 docker 映像中的所有可用用户。

你也可以通过运行创建自定义用户

RUN groupadd -g 1000 <group-name> \
    && useradd -d /home/<custome-user> -u 1000 -g 1000 -m -s /bin/bash <username>
USER <username>

【讨论】:

    【解决方案2】:

    默认用户依赖于基础镜像,默认为 root。你使用的centos镜像已经是root了。

    【讨论】:

      猜你喜欢
      • 2014-08-24
      • 2021-02-15
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 2017-04-30
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多