首页 > 解决方案 > 通过 dockerfile 为我们的容器添加用户管理

问题描述

我们正在为我们的项目使用 docker。我们有一个在 Docker 上运行的监控服务(用于我们的本机应用程序)。

目前该监控服务没有用户管理。有什么方法可以从 Dockerfile 添加用户管理?

请注意,我不是在寻找 docker 容器用户管理。

简而言之,我正在寻找的功能是:

  1. 在 dockerfile 中添加任何用户和密码。

  2. 访问外部IP时,必须提供相同的用户名和密码才能查看正在运行的监控服务。

标签: dockerauthentication

解决方案


Docker 不知道容器中运行的是什么,其网络设置仅限于容器之间或从主机端口到容器的简单传递。在 Docker 中运行具有许多不同网络协议的程序是很典型的(Web 服务器、MySQL、PostgreSQL 和 Redis 都有不同的有线协议),并且 Docker 本身无法注入授权步骤。

许多重要的 Docker 设置包括某种 HTTP 反向代理容器(通常是 Nginx,偶尔是 Apache),它既可以服务于 Javascript UI 构建的静态文件,也可以将 HTTP 请求路由到后端服务。您可以在此处添加身份验证控件。这样做的机制将特定于您选择的代理服务器。

考虑到您包含在Dockerfileordocker build --args选项中的任何信息都可以被拥有您的图像的任何人轻松检索(查看它的docker history,或docker run上面的调试外壳)。如果您认为它们是敏感的并且您没有将图像存储在具有强大保护的地方(如果有人可以docker pull从 Docker Hub 中),您可能需要在运行时使用绑定挂载注入凭据。


推荐阅读