-2

我做了几年的网络开发。我通常在我的 Windows 机器上安装 Xampp,并随身携带一个版本的 mysql。它对我很有帮助,但是现在我们有一些旧项目需要旧版本的 mysql 或 PHP。

我可以安装旧版本的 Xampp 并使用不同的端口并像我一样工作,但后来我意识到我们有 Docker,而且我有足够强大的机器。因此,我尝试对其进行试验并运行 mysql 的 docker 并将其用于开发,但是当我关闭 docker machine/host 时,docker clean old data 不再可供我使用。

我正在阅读我们可以链接到我的主机硬盘,但是每天我都需要重新安装所有东西然后继续工作似乎不是一个好方法。

有什么方法可以保持环境安全且易于使用。我不确定我该怎么做?我不需要太多技术细节,因为我可以找到有关它的文档,但我仍然不清楚如何设置的流程/工作流程。我通常每天处理 3-4 个项目,所以我必须在环境之间快速切换,并尽可能让它看起来不那么明显。

谢谢。

4

1 回答 1

1

您可以使用docker-compose指定整个基于 Docker 的“环境” ,该工具允许您指定多个容器、它们如何相互通信以及这些容器中的哪些数据被持久化。

对于这个特定示例,您将在您的容器中包含一个 MySQL 容器,docker-compose.yml并在容器中定义一个volume链接/var/lib/mysqlvolumes在 的部分创建相同的卷docker-compose.yml,您的数据将跨docker-compose up/docker-compose down个周期持续存在,甚至在删除构建的容器后也是如此。

这是基于 Docker 的功能。您不必在本地机器上存储卷——Docker 提供了其他提供程序,让您可以使用基于云/网络的存储(显然这比本地磁盘慢)。

对于您的 Web 容器,您可以指定 MySQL 容器的“链接”,允许您使用 docker-compose 的内部 DNS 功能将其解析为“mysql”或类似的东西。

于 2020-06-12T06:15:54.163 回答