gpt4 book ai didi

docker - 从一个 docker 容器在另一个容器上运行命令是一种好习惯吗?

转载 作者:行者123 更新时间:2023-12-02 19:17:24 26 4
gpt4 key购买 nike

从一个 docker 容器在另一个容器上运行命令是一种好习惯吗?
我已经测试了docker,需要运行java -jar命令才能在另一个docker上运行该应用程序。

docker_1:
- tests

docket_2:
- app1.jar
- app2.jar
“测试”应运行“app1.jar”和“app2.jar”。
docker_1如何将ssh切换到docker_2并运行Java命令?
这是一个好习惯还是沟通的开销不值得?

最佳答案

这不是一个好习惯。设置在技术上是棘手的,并且在应用程序中增加了对Docker的依赖(在非Docker开发环境中不会这样做)。如果为此使用docker exec,则实际上需要对主机具有不受限制的根级别权限。
尝试使用ssh作为传输方式需要在某处设置凭据,这很棘手(您实际上不应该在Dockerfile或其他任何地方写明文根密码)。为了使服务器端运行,您需要在一个容器中运行多个进程(也很棘手),或者使sshd成为主要的容器进程(在这里不清楚Docker有何好处)。
您几乎总是希望使用某种网络API在容器之间进行通信。在此设置中,您可能会运行三个容器,每个用于两个应用程序,一个用于测试客户端。这两个应用程序容器将运行长时间运行的HTTP服务器(也许它们基于Tomcat或Spring Boot),然后测试容器将对其中一个或两个进行HTTP调用。
有时,容器中的程序直接运行另一个程序是有意义的。最常见的情况是它是一种预先构建的短期运行的命令行工具,专门用于本地文件。与其他项目相比,构建HTTP外观可能要花费更多的精力。在这些情况下,支持程序必须与调用代码在同一镜像中,包括所需的任何语言运行时或共享库。

关于docker - 从一个 docker 容器在另一个容器上运行命令是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62573936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com