📜  Docker –用户指令

📅  最后修改于: 2021-04-16 06:22:00             🧑  作者: Mango

默认情况下,Docker容器以Root用户身份运行。如果您在Docker Containers中大规模部署应用程序,则将构成极大的安全威胁。您可以使用USER指令在Docker容器内更改或切换到其他用户。为此,您首先需要在容器内创建一个用户和一个组。

在本文中,我们将使用USER指令将Container中的用户从Root切换到我们将要创建的用户。为此,请按照以下步骤操作:

第1步:创建Dockerfile

您可以在Dockerfile中指定创建新用户和组以及切换用户的说明。在此示例中,我们将简单地创建一个Ubuntu Image并将bash与Root用户以外的其他用户一起使用。

FROM ubuntu:latest
RUN apt-get -y update
RUN groupadd -r user && useradd -r -g user user
USER user

在上面的dockerfile中,我们提取了基础映像Ubuntu,并对其进行了更新。我们创建了一个名为user的新组,并在该组内创建了一个具有相同名称的新用户。然后,使用USER选项切换用户。

第2步:构建Docker映像

创建Dockerfile之后,我们现在可以使用Build命令创建Docker映像。

sudo docker build -t user-demo .

构建Docker映像

步骤3:运行Docker容器

使用Docker Run命令运行容器。

sudo docker run -it user-demo bash

运行容器

步骤4:验证输出

现在,您可以使用id命令检查默认用户和组是否已更改为我们在Dockerfile中创建的用户。

id

验证输出

总而言之,在本文中,我们讨论了如何在Dockerfile中使用USER指令将Docker容器的默认用户从Root切换到我们可以使用useraddgrouadd命令创建的另一个用户。