当前位置: 首页 > 面试题库 >

如何使用dockerfile添加用户?

岳时铭
2023-03-14
问题内容

如何使用Dockerfile添加用户-以下内容不起作用。

USER vault
WORKDIR /usr/local/bin/vault

我完整的Dockerfile:

FROM alpine:3.4
RUN apk update && apk add curl unzip
RUN useradd -ms /bin/bash vault

USER vault
WORKDIR /usr/local/bin/vault
ADD /vault.hcl /etc/vault/vault.hcl

RUN curl -SL https://releases.hashicorp.com/vault/0.5.0/vault_0.5.0_linux_amd64.zip > vault.zip
RUN unzip vault.zip -d /usr/local/bin && rm vault.zip

问题答案:

使用useradd而非交互adduser添加用户。

RUN useradd -ms /bin/bash  vault

以下命令不会创建user。

USER vault
WORKDIR /usr/local/bin/vault

它将使用vault用户

请参考Dockerfile用户文档

USER指令设置运行映像时使用的用户名或UID,以及Dockerfile中跟随该映像的所有RUN,CMD和ENTRYPOINT指令。

注意: 确保这bash是默认外壳程序。

如果使用默认外壳,则/bin/sh可以执行以下操作:

RUN ln -sf /bin/bash /bin/sh
RUN useradd -ms /bin/bash  vault


 类似资料:
  • 问题内容: 如何使用Javascript 添加CSS规则(例如)? 问题答案: 您也可以使用DOM Level 2 CSS接口(MDN)执行此操作: …(除了(自然地)IE8和更早版本以外的所有版本),它使用自己的边际差异措辞: 与createElement-set- innerHTML方法相比,此方法具有理论上的优势,因为您不必担心在innerHTML中放置特殊的HTML字符,但实际上,样式元素

  • 问题内容: 我试图在没有LTV格式的已签名PDF文档中启用LTV。在所有情况下,我都找到了相同的示例,如链接中所述。如何为时间戳签名启用LTV,启用iText LTV-如何添加更多CRL?,它定义了获得预期结果的过程。碰巧我没有工作,它没有给我任何错误,但是我没有添加LTV。 为什么在执行以下代码时不会给我任何错误,但是我不添加LTV的一些想法。 这是我尝试添加LTV的方法: 我正在使用的版本:

  • 问题 我希望将UDF的返回值添加到seperate列中的现有dataframe中。我如何以足智多谋的方式实现这一点? Edit:我注释掉了StructType的使用(并编辑了udf赋值),因为示例函数的返回类型不需要使用StructType。但是,如果返回值类似于

  • 我正在尝试在一个已经签名的PDF文档中启用LTV,而不使用LTV格式。我在所有情况下都发现了相同的示例,如链接“如何为时间戳签名启用LTV”,iText LTV enabled-如何添加更多CRL?”中所述,定义了获得预期结果的过程。碰巧我没有工作,它没有给我任何错误,但我没有添加LTV。 关于为什么在执行以下代码时没有给我任何错误的想法,但是我没有添加LTV。 这就是我尝试添加LTV的方法: 我

  • 我正在使用PhpStorm,对于函数,我想在评论部分添加< code>@since 1.0.0。像这样: PhpStorm文档中没有说明如何实现这一点。 < li >有没有人使用过PhpStorm,并让< code>@since在做自动注释时显示出来? < li >这可以自动化吗? < li >我应该在PhpStorm的什么地方指定一个版本号来跟踪它?

  • 我有一个观察数据表和是和否的模型。为简单起见,我只假设对组。我浪费了一些分类统计数据,我想控制选择哪一个。我知道如何使用eval做到这一点并将其保存在另一个data.table中,但我想添加到现有的data.table中,因为我每个组只有一行。任何人都可以帮我吗? 首先,我为每个组创建列联表。 然后定义统计数据 如果我使用下面几行,它会给我一个新的数据表: 如何在此示例中使用:=将结果添加到我的旧