【发布时间】:2016-09-07 18:16:17
【问题描述】:
我有一个帮助容器和一个应用容器。
帮助容器处理通过 git 将代码挂载到与应用容器共享的挂载。
我需要帮助容器检查克隆代码中的package.json 或requirements.txt,如果存在则运行npm install 或pip install -r requirements.txt,将依赖项存储在共享挂载中。
问题是 npm 命令和/或 pip 命令需要从应用容器运行,以保持帮助容器尽可能通用和不可知。
一种解决方案是将 docker 套接字安装到辅助容器并运行 docker exec <command> <app container>,但如果我在单个主机上拥有数千个这样的应用程序怎么办。
是否会有数百个容器同时访问 docker 套接字的问题?有没有更好的方法来做到这一点?让命令在另一个容器上运行?
【问题讨论】:
-
您对帮助容器角色的描述听起来应该是您构建应用容器的映像。
-
不,它公开了一个端点,我在内部用作 gogs 的 webhook,然后将文件克隆到共享挂载。
-
嗯,好的,在您的容器中运行通常在镜像构建中的任务。它不会改变您的问题,如果您正在构建图像,您仍然需要从 webhook 容器触发构建。如果您有 100 个相同应用程序的实例,您将运行更少的命令。
标签: python node.js linux git docker