需要关于Docker设置的指导吗

需要关于Docker设置的指导吗,docker,Docker,我从事网络开发已有几年了。我通常在我的windows机器上安装Xampp,并随身携带一个版本的mysql。它为我提供了很好的服务,但现在我们有一些旧项目需要旧版本的mysql或PHP 我可以安装旧版本的Xampp,使用不同的端口,像我一样工作,但后来我意识到我们有Docker,我有足够强大的机器。因此,我尝试对它进行实验,运行mysql的docker并将其用于开发,但当我关闭docker机器/主机时,docker会清理旧数据,不再对我可用 我读到我们可以链接到我的主机硬盘,但每天我都需要重新安装

我从事网络开发已有几年了。我通常在我的windows机器上安装Xampp,并随身携带一个版本的mysql。它为我提供了很好的服务,但现在我们有一些旧项目需要旧版本的mysql或PHP

我可以安装旧版本的Xampp,使用不同的端口,像我一样工作,但后来我意识到我们有Docker,我有足够强大的机器。因此,我尝试对它进行实验,运行mysql的docker并将其用于开发,但当我关闭docker机器/主机时,docker会清理旧数据,不再对我可用

我读到我们可以链接到我的主机硬盘,但每天我都需要重新安装所有的东西,然后再进行处理,这似乎不是一个好方法

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


谢谢。

您可以使用一个工具指定整个基于Docker的“环境”,该工具允许您指定多个容器、它们之间的通信方式以及这些容器中保存的数据

对于这个特定的示例,您需要在
docker compose.yml
中包含一个MySQL容器,并在容器中定义一个链接到
/var/lib/MySQL
卷。在
docker compose.yml
volumes
部分中创建相同的卷,您的数据将在
docker compose-up
/
docker compose-down
周期中保存,甚至在删除生成的容器之后

这是基于Docker的功能。您不必在本地计算机上存储卷——Docker提供了其他提供商,允许您使用基于云/网络的存储(显然这比本地磁盘慢)


对于您的web容器,您可以指定指向MySQL容器的“链接”,允许您使用docker compose的内部DNS功能(如“MySQL”)或类似功能来解析它。

介绍了运行在其中的网络环境容器以及它们如何相互通信。你不需要在modern Docker中手动指定链接。我理解你的意思,所以我制作了一个Composer YML,它会连接到我的本地磁盘,每当我需要处理项目时,我都会在Docker compose文件夹中启动DOCKERFILE。这听起来很有希望,但我想知道这种方法有多有效。让我试试。谢谢