gpt4 book ai didi

java - 通过docker运行java服务器有意义吗?

转载 作者:行者123 更新时间:2023-12-02 09:41:53 25 4
gpt4 key购买 nike

我即将创建一个 java 服务器/客户端构造,它通过 tcp 套接字使用双向通信。对于每个发出请求的客户端,都会创建一个新线程。目前,它正在托管服务的虚拟机上运行。现在我想到使用docker。但在这种情况下切换到 docker 真的有意义吗? docker 真的能像 java 服务器一样运行永久应用程序吗?

最佳答案

我现在如履薄冰,但是,无论如何我还是要说...如果您在 Linux 上运行一个进程,那么就大多数意图和目的而言,该进程是在容器中运行的。

容器是内在 Linux 内核功能(命名空间、cgroup 等)之上的“糖”。包括 Docker Engine 在内的解决方案主要使内核的这些(有些神秘)功能得到更广泛的使用。更易于使用。

容器和虚拟机是非常不同的技术。扩展上述内容,您可以在容器中运行虚拟机,并且几乎总是在虚拟机中运行容器。

它是一直向下的容器:-)

直接回答您的问题:您已经在容器中运行 Java 服务器并且它在虚拟机上运行。您可能决定做两件事,但请在决定之前详细阅读每件事:

  • 将 Docker(引擎)添加到现有 VM(如果尚不存在)中,以便更轻松地将 Java 服务器作为 Docker 容器进行管理。 好处:不清楚,但见下文。

  • 从 VM 中提取 Java 服务器(!)并将服务器作为 Docker 容器运行。 好处:不清楚; 后果:您的托管公司可能无法实现;潜在的安全问题;没有明确的福利;等等

使用容器并将容器部署到现有托管提供商(并继续使用其虚拟机)对您来说的一个好处是,您将能够在托管提供商以外的位置进行构建和测试,并且(大部分)保证在构建和测试期间工作的容器镜像也将在生产中的托管服务提供商上工作。

呵呵!

关于java - 通过docker运行java服务器有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57010938/

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