我有一个带有大型数据库(或多或少 50GB)的项目,因为我还必须使用 docker/ddev 运行其他项目,这可能是个问题,我肯定可以调整 docker 磁盘的大小,但我想知道某个项目是否有可能将数据库保留在 docker 之外...
对于普通的 docker (docker-compose) 项目,我保留了一个不在 docker 中的“数据”文件夹,如果可能的话,我想对 ddev 做或多或少相同的事情。
现在我在 OSX 上,但如果它也可以在 Win10 上运行,那就太好了。
谢谢!
最佳答案
ddev 过去常常使用绑定(bind)挂载将数据库挂载到主机上,但 docker 在这方面有很多问题,尤其是在 Windows 上。虽然它在 mac 和 Linux 上运行良好,但在 Win10 Home 上的 Docker Toolbox 上运行不佳。 Docker 卷在交互方面更可靠,速度更快,因为它们位于 linux 卷上。
但是,您可以制作一个包含如下内容的 .ddev/docker-compose.bindmountdb.yaml
,它基本上切换回旧方法,并将数据库绑定(bind)挂载到项目的 . ddev/db 目录。
version: "3.6"
services:
db:
volumes:
- type: "bind"
source: "./db"
target: "/var/lib/mysql"
关于docker - 将 DDEV 数据库挂载到主机文件系统而不是内部 docker 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397298/