【问题标题】:Forbid npm update in Docker environment禁止在 Docker 环境中更新 npm
【发布时间】:2018-03-18 21:30:43
【问题描述】:

伙计们,

对于各种项目,我正在创建单个 Docker 环境。每个 Docker 容器由 Debian、Nginx、Node.js 等组成,将由开发人员使用,并通过 Google Cloud 的 Kubernetes 用于生产。由于 Node.js/module 版本应该在任何地方都相同,我想限制对某些 npm 命令的访问(不知何故)。开发人员通常使用不同的 Node.js 和项目模块,这在过去造成了很多麻烦。使用 Docker 容器,我可以为环境提供项目所需的一切。为了完成这一步,我想限制 npm 命令的执行,只允许 installtest 等参数。

如果你知道如何解决这个问题,请给我留言:)

干杯

【问题讨论】:

    标签: node.js shell docker npm kubernetes


    【解决方案1】:

    如果您的开发人员有权访问 Dockerfile 并且可以以某种方式更改构建流程,那么限制他们在容器中运行某些命令几乎是不可能的。

    但是,因为容器提供了隔离,并且您可以根据您的基本映像为该应用程序构建一个自定义容器,如果某个应用程序的任何包的版本会以某种方式更改,这可能不是一个大问题,例如一个构建步骤,因为它不会影响其他应用程序。他们只是有不同的容器。

    因此,当您使用一台服务器和许多使用共享环境的应用程序时,您不会遇到兼容性问题。

    您需要做的唯一一件事 - 确保没有人更改您用作基础映像的容器。

    【讨论】:

    • 嗨,Anton,谢谢。,当然,开发人员可以更改文件。在这种情况下,我们仍然希望没有人会故意操纵 Docker 文件。否则,我们只会更改特定二进制文件的 Linux 用户权限,以至少强制开发人员在运行 npm 命令之前输入密码。背后的想法是拥有一个自定义 Docker 容器,其中包含每个项目的项目/应用程序依赖项。如果某些东西在本地不起作用,它就不会在网上和生产环境中起作用。这就是为什么我喜欢 Docker 镜像的想法。
    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 2017-11-02
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多