当前位置: 首页 > 面试题库 >

我可以在Docker容器中运行多个程序吗?

裴实
2023-03-14
问题内容

从部署旨在在台式机上的用户上运行的应用程序的角度来看,我正在努力将自己的头全放在Docker上。我的应用程序只是一个Flask
Web应用程序和mongo数据库。通常,我将同时安装在VM中,并将主机端口转发到来宾Web应用程序。我想尝试一下Docker,但不确定使用多个程序的含义。文档说只能有ENTRYPOINT,所以我怎么拥有Mongo和我的flask应用程序。还是需要将它们放在单独的容器中,在这种情况下,它们如何彼此通信,这如何使应用分发变得容易?


问题答案:

只能有一个ENTRYPOINT,但是该目标通常是一个脚本,该脚本启动所需的许多程序。您还可以使用例如Supervisord或类似工具来在单个容器内启动多个服务。这是一个在单个容器中运行mysql,apache和wordpress的docker容器的示例。

假设您有一个供单个Web应用程序使用的数据库。然后,在单个容器中运行它们可能会更容易。

如果您拥有由多个应用程序使用的共享数据库,则最好在自己的容器中运行数据库,而每个应用程序都在各自的容器中运行。

当应用程序在不同的容器中运行时,它们至少有两种相互通信的可能性:

  1. 使用裸露的IP端口并通过它们进行连接。
  2. 最新的docker版本支持链接。


 类似资料:
  • 我试图从部署一个打算在桌面用户上运行的应用程序的角度来理解Docker。我的应用程序只是一个烧瓶网络应用程序和mongo数据库。通常情况下,我会在虚拟机中安装这两个程序,并将主机端口转发给来宾网络应用程序。我想尝试一下Docker,但我不确定我是如何使用多个程序的。文档说只能有ENTRYPOINT,所以我怎么才能拥有Mongo和我的烧瓶应用程序。或者它们需要在不同的容器中,在这种情况下,它们如何相

  • 问题内容: 我可以在Docker容器中运行Xcode吗?我想码头化一个Xcode CI系统,只是想知道这是否可能。 问题答案: Docker Hackathon 2015的 此回购描述了如何使用Docker 客户端构建和运行iOS应用。那是你追求的吗? 观看视频: 秘诀在于server.js,它实现了REST API以模拟docker服务器。因此,实际上,它实际上并没有在真正的Linux dock

  • 问题内容: 这个问题是我继续研究Docker的一部分,并且在某些方面跟进了我先前的问题之一。我现在已经了解了如何通过将一堆Docker容器链接在一起来获得完整的应用程序堆栈(实际上是微型VPS)。例如,可以创建一个堆栈,为Apache+ PHP5提供一堆扩展名+ Redis + MemCached+MySQL,它们都在Ubuntu上运行,无论是否带有附加数据容器,都可以轻松地序列化用户数据。 一切

  • 问题内容: 如何在Docker容器中运行GUI应用程序? 是否设置了任何图像或其他东西,例如,您可以在Firefox周围添加一个额外的speedbump沙箱? 问题答案: 您可以简单地与Firefox一起安装vncserver :) 我在这里推送了一个图像,vnc / firefox: 该镜像已使用以下Dockerfile生成: 这将创建一个运行VNC的Docker容器,密码为: 对于Docker

  • Docker教程经常说我可以运行更多容器,以提高我的webapp的可用性。然而,这是一个非常宽泛的声明,并没有解释在不同的情况下应该运行多少个容器。我如何知道我是否需要1、5、10、100或1000个容器实例? 示例-我只有一台服务器,正在使用docker运行nginx和php fpm。每个容器一个。有了这个简单的设置,我的webapp就可以正常工作,而且看起来很灵敏。(在同一台服务器上)增加额外

  • 我工作在一个微服务应用程序,有多个服务。我正在使用docker-compose运行不同微服务的实例。我们为每个微服务创建一个映像。如果我改变了一个微服务的代码,我使用'docker-compose down',然后改变更新的微服务的版本,然后使用'docker-compose up'。我认为,应该有一种不使用'docker-compose down'和'docker-compose up'的方法在