【发布时间】:2020-01-13 11:25:35
【问题描述】:
我有一些基于 PHP 的应用程序,在使用 MySQL 数据库的 XAMPP 服务器上运行。
如果我想为我的客户将它们移动到另一台计算机上,复制整个 XAMPP 包并告诉他们如何从控制面板启动 Apache 和 MySQL 服务器,然后从浏览器浏览 localhost 对每个人来说都有些麻烦。有没有办法将它们打包成单个可执行文件以获得更好的可移植性?
我听说过一个名为 'Docker' 的平台,但我不知道它到底是什么以及如何使用它们。
它可以用来做我上面要求的吗?还有其他选择吗?
谢谢。
【问题讨论】:
-
所以它们是网站?在这种情况下,将它们放在网络服务器上!
-
我实际上希望它用于离线使用,所以我想要基于 Intranet 的系统而不是 Internet
-
你不能有一个“离线”的网站,因为没有人可以连接到它。 Intranet 仍然是一个“在线”网络(即使它不在公共 Internet 上,不同机器之间仍然存在连接),您仍然需要使用 Web 浏览器连接到 PHP 应用程序(即使应用程序代码与浏览器在同一台机器上!)。并且浏览器仍然需要一个网络服务器来连接。所以,是的,按照 Riggs 所说的去做并使用网络服务器。
-
但是,没有什么能阻止您将 Web 服务器和 DB 服务器打包到一个容器中(使用 Docker 或任何其他容器系统)并将其提供给您的客户......尽管他们仍然需要一个能够执行容器,您可能仍需要一些安装说明。无论哪种方式,如果您听说过 Docker 并且不确定它是否适合您的需求或它是如何工作的,那么您要做的第一件事就是研究它。是你做的吗?似乎没有。我们为什么要坐在这里,输入您已经在其他地方读到的内容?
-
...但无论如何,也许您真正需要的只是一个安装程序脚本,它可以自动部署和配置应用程序的所有组件(就像您可能下载的大多数程序安装程序/软件包一样,例如“msi " Windows 上的文件,或 Linux 上的 ".deb"/"rpm" 包)。然后,客户可以将其本地安装在自己的机器上(供单用户使用)或内联网上的共享服务器(供内联网内的多个用户访问单个副本)。
标签: php docker server package containers