默认情况下,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 .
步骤3:运行Docker容器
使用 Docker Run 命令运行容器。
sudo docker run -it user-demo bash
步骤 4:验证输出
现在,您可以使用id命令检查默认用户和组是否已更改为我们在_Dockerfile_中创建的用户和组。
id
总而言之,在本文中,我们讨论了如何使用_Dockerfile中的USER指令将 Docker 容器的默认用户从 Root 切换到我们可以使用useradd和groupadd_命令创建的另一个用户。