您曾经使用过Docker 来开发应用程序吗?作为Docker爱好者,我读过很多关于如何将应用程序部署到生产环境、如何使用Docker Swarm进行扩展以及类似主题的文章,但我发现很少有文章专门介绍使用 Docker 来开发它们。
嗯,在Irontec开发部门,我们已经使用 Docker来开发 Web 应用程序(尤其是PHP后端)有一段时间了,我们想与您分享我们在此过程中学到的一些东西。
在本文中,我们将为在php-fmp、apache2和mysql上运行的 PHP 中的“Hello world”设置一个基于 Docker 的开发环境。
我们不打算安装 Docker 或 Docker Compose 或解释它们是什么。我们假设您知道它是什么,或者至少您听起来很熟悉。如果您想了解更多可以输入以下链接:
在 Irontec,我们一直试图避免使用“它适用于我的设 加拿大手机号码列表 备”这样的说法。在项目生命周期中,最耗时的事情之一就是生产动作。用于开发的版本和生产中安装的版本之间的差异让我们非常头疼。这就是为什么 在 Docker 之前我们使用Vagrant与Ansible和Virtualbox来拥有统一的开发环境。这使我们能够使用我们将在生产中使用的应用程序的特定版本(apache、php、mysql...)进行开发,从而避免与软件版本相关的典型问题。
在管理开发项目时,让任何开发人员都能够加入开发而不必浪费时间准备环境是非常重要的。对于这个 Vagrant 对我们来说非常有用,因为通过一个简单的“vagrant up”,我们在几分钟内就准备好了整个环境来开发。

我们使用这个系统的问题是它消耗了大量的资源,并且你无法同时处理两个项目,因为它大大降低了团队的速度。
当 Docker 出现时,我们真的很喜欢它。我一举解决了版本问题,因为从理论上讲,开发中运行的内容与预生产和生产中运行的内容相同:容器运行的映像在所有环境中都是相同的。
但范式转变太大,无法一次性完成,因此我们开始使用Vagrant 并以 Docker 作为提供者。我们按照自己的方式进行 ,因为我们没有遵循 Docker 的“一种服务——一种容器”的理念,而是像使用虚拟机一样使用容器,但要轻得多。您可以单击此处查看我为开发部门准备的课程演示文稿 。