Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker compose-带有命令行工具的容器_Docker_Docker Swarm - Fatal编程技术网

Docker compose-带有命令行工具的容器

Docker compose-带有命令行工具的容器,docker,docker-swarm,Docker,Docker Swarm,抱歉,如果问题是一般性的,任何关于更新公式的建议都将不胜感激 所以,我有一个java应用程序,它使用命令行工具进行计算。这些电话很少见。例如,有可能在24小时内不会有呼叫。问题是,码头工人用什么方法来集装箱化 有几种可能的解决方案: 把所有东西放在一个容器里 ssh调用的独立tty容器 在仪器上开发http层 在systemd上显示docker以按需启动仪器容器 通过tcp公开docker以按需启动instruments容器 问题是——我是否遗漏了什么?还有其他可能的解决办法吗?所有列出的解决方

抱歉,如果问题是一般性的,任何关于更新公式的建议都将不胜感激

所以,我有一个java应用程序,它使用命令行工具进行计算。这些电话很少见。例如,有可能在24小时内不会有呼叫。问题是,码头工人用什么方法来集装箱化

有几种可能的解决方案:

把所有东西放在一个容器里 ssh调用的独立tty容器 在仪器上开发http层 在systemd上显示docker以按需启动仪器容器 通过tcp公开docker以按需启动instruments容器
问题是——我是否遗漏了什么?还有其他可能的解决办法吗?所有列出的解决方案都可行吗?有没有办法使用Swarm或Kubernetes等工具使其更干净?

根据我的经验,Docker方法是您的第三种选择,将操作包装在HTTP facade中,并使其始终运行

Docker很好地支持HTTP路径,例如,您可以使用其他容器名称作为主机名,并且很容易在其他环境中进行测试或模拟。这还意味着,如果您确实需要对其中一个支持工具进行更新,您可以重新启动另一个容器;您不必关闭主应用程序来更新它

Docker在处理主要交互模式为命令行参数、stdin或stdout的进程时并不是特别好。特别是对于一个容器启动另一个容器,该容器需要通过主机进行不受限制的根访问,并且您需要使用Docker API,而不仅仅是“启动子流程”


如果外部程序是相当独立的,那么在Dockerfile中复制它们并将它们作为普通子进程调用就可以了。你提到Java;如果你只是偶尔为一个非Java映像添加一个完整的JVM,这会增加膨胀和复杂性。

1号对我来说似乎是最明智的,你没有外部依赖,没有可能失败的网络,没有权限,你需要的一切都在同一个地方。。唯一的疑问是您多久更新一次这些命令行工具?