Docker – USER 指令

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

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

步骤 1:创建 Dockerfile

_您可以在Dockerfile_中指定创建新用户和组以及切换用户的指令。在本例中,我们将简单地创建一个 Ubuntu 镜像,并使用 Root 用户以外的其他用户运行 bash。

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 切换到我们可以使用useraddgroupadd_命令创建的另一个用户。

Leave a Comment